Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

XML, поиск конкретных Атрибутов   Найти похожие ветки 

 
timekiller ©   (2007-10-30 14:32) [0]

Как определить ЕСТЬ ли КОНКРЕТНЫЙ атрибут в ноде или его НЕТ??


 
clickmaker ©   (2007-10-30 14:33) [1]

Node.HasAttribute()
если ты про XMLDocument


 
timekiller ©   (2007-10-30 14:36) [2]

определяется только Node.hasChildNodes ...

или у меня непропатченный делфи??


 
clickmaker ©   (2007-10-30 14:38) [3]

HasAttribute method (TXMLNode)

Delphi syntax:

function HasAttribute(const Name: DOMString): Boolean; overload;
function HasAttribute(const Name, NamespaceURI: DOMString): Boolean; overload;

(c) Help D7


 
timekiller ©   (2007-10-30 14:42) [4]

PNode.HasAttribute("type")

[Error] Unit1.pas(290): Undeclared identifier: "HasAttribute"


 
Reindeer Moss Eater ©   (2007-10-30 14:44) [5]

Осталось узнать военную тайну о типе PNode


 
timekiller ©   (2007-10-30 14:47) [6]

XMLP:=CoDoc.Create;
   XMLP.load(FLB.FileName);
   if (XMLP.parseError.errorCode <> 0) then
   begin
     MessageDlg("Ошибка в шаблоне для документа или в самом документе, невозможно восстановить и сопоставить данные!"+#13+"Сообщение об ошибке следует передать в службу поддержки:"+#13+#13+"Ошибка: "+XMLP.parseError.reason, mtError, mbOKCancel, 0);
     N_OpenClick(Sender);
   end else
   begin
     p:=XMLP.documentElement;
     AdminTableGoTo:=0;
>>>      PNode:=p.SelectSingleNode("//pattern"); <<<


 
Reindeer Moss Eater ©   (2007-10-30 14:47) [7]

TXMLNode
...
protected
function HasAttribute(const Name: DOMString): Boolean; overload;
.....

А у IXMLNode он паблик


 
timekiller ©   (2007-10-30 14:48) [8]

XMLP,XMLD:          DOMDocument;
p,d:                IXMLDOMElement;
PNode,DNode:        IXMLDOMNode;


 
Reindeer Moss Eater ©   (2007-10-30 14:50) [9]

attributes.getNamedItem()


 
Reindeer Moss Eater ©   (2007-10-30 14:52) [10]

А модуль с классом открыть и найти по тексту нужный метод конечно же мама не позволяет.


 
timekiller ©   (2007-10-30 14:54) [11]

Я говорю про "Что делать когда какразтаки используешь attributes.getNamedItem(), а атрибута НЕТУ" (опа!!!)


 
clickmaker ©   (2007-10-30 14:55) [12]


> [11] timekiller ©   (30.10.07 14:54)

так он наверно nil вернет, нет разве?


 
timekiller ©   (2007-10-30 14:56) [13]

ннннннннЕа


 
clickmaker ©   (2007-10-30 14:57) [14]


> [13] timekiller ©   (30.10.07 14:56)

а что?


 
Reindeer Moss Eater ©   (2007-10-30 14:57) [15]

Я говорю про "Что делать когда какразтаки используешь attributes.getNamedItem(), а атрибута НЕТУ" (опа!!!)

Память короткая?

Ты спрашивал:
Как определить ЕСТЬ ли КОНКРЕТНЫЙ атрибут в ноде или его НЕТ??


 
timekiller ©   (2007-10-30 15:05) [16]

код проги выпрашивает
PNode.selectNodes("//box").item[i].attributes.getNamedItem("ind").nodeValue

а в теге <box> атрибут ЗАБЫЛИ написать, прога выкидывает ошибку (от которой собсно избавляться нужно, в случае того если атрибут не напишут)

еще раз?


 
Reindeer Moss Eater ©   (2007-10-30 15:07) [17]

Ты тупой, чтоли?
Если у тебя могут забыть вписать атрибут, то его наличие надо проверить.
Получить ссылку на атрибут в переменную и проверить её на нил.


 
timekiller ©   (2007-10-30 15:11) [18]

Значит внатуре нужно еще раз:

тема: Как определить ЕСТЬ ли КОНКРЕТНЫЙ атрибут в ноде или его НЕТ??

вначале был тупой и остался, так как не програмёр я


 
timekiller ©   (2007-10-30 15:12) [19]

тоесть те же проблемы с синтаксисом


 
Reindeer Moss Eater ©   (2007-10-30 15:12) [20]

PNode.selectNodes("//box").item[i].attributes.getNamedItem("ind").nodeValue

Код просто чумовой.
Сначала используем XPATH чтобы получить список узлов, потом за каким-то хреном дергаем атрибут с помошью getnameditem/

Чтоб такой изврат придумать, лет десять учиться надо.


 
Reindeer Moss Eater ©   (2007-10-30 15:13) [21]

Как определить ЕСТЬ ли КОНКРЕТНЫЙ атрибут в ноде или его НЕТ??

НАЙТИ ЕГО XPATH"ом И ПРОВЕРИТЬ НА НИЛ


 
Reindeer Moss Eater ©   (2007-10-30 15:14) [22]

Или может тебя нил не устраивает, может тебе цветомузыку включить и сплясать в случае если атрибута нету?


 
timekiller ©   (2007-10-30 15:16) [23]

бггг)) нужна строчка кода, всего одна
тк незнаю синтаксиса и не програмёр - соответственно=))))))))))))))


 
Reindeer Moss Eater ©   (2007-10-30 15:16) [24]

PNode.selectNodes("//box[@ind]").item[i].nodeValue

Узлы box не имеющие атрибута ind не попадут в список.


 
timekiller ©   (2007-10-30 15:20) [25]

аха спасип=))))))))))))))))))))))))))))))))))))))))))))) ахахахаха


 
timekiller ©   (2007-10-30 15:33) [26]

и сёравно ошибка какраз на узлах box, не имеющих атрибута ind

где этот нил и с чем его едят?? или вы сами програмёры из анекдота про колбасу и десяток яиц???


 
Skyle ©   (2007-10-31 07:07) [27]


> timekiller ©   (30.10.07 15:33) [26]

Где-то так.


uses MSXML_TLB;

..........

var
 xDoc : IXMLDomDocument;
 Node, MyAttribute : IXMLDomNode;
begin
 xDoc := CoDOMDocument.Create;
 xDoc.async := False;
 xDoc.load("SomeXmlFile.xml");
 Node := xDoc.documentElement.selectSingleNode("MYNODENAME");  
 MyAttribute := Node.attributes.getNamedItem("Default");

 if Assigned(MyAttribute) then
   ShowMessage("wow")
 else
   ShowMessage("upps");
end;


 
timekiller ©   (2007-10-31 09:44) [28]

Вввввот он БОХ ! учитесь мазафака
а то мне тут уже повадились пропаривать мой ибезтого наитупейший и бездарный моск

Skyle ©  преклоняюсь! спасип


 
clickmaker ©   (2007-10-31 09:48) [29]


> [28] timekiller ©   (31.10.07 09:44)

взялся за XML, а if MyAttribute <> nil написать соображалки не хватило?


 
timekiller ©   (2007-10-31 14:09) [30]

Соображалки нехватило написать не то чтобы строчку в ответ?
или if not Assigned() или if VarIsClear()???? БГГгггггг= ))))))) ппц

нехватило соображалки сообразить если бы была соображалка то этот форум был бы никчему?

(это остальным для спраффки навсякий, самому наитупейшему програмёру тут ни разу не помогли-знач помогу я кому, малоли)



Страницы: 1 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.013 c
4-1179223552
SpellCaster
2007-05-15 14:05
2007.11.25
Остановка спящих потоков


5-1163588751
Poisent
2006-11-15 14:05
2007.11.25
Вопрос о редакторе свойств


2-1193740709
BATTLE_MAX
2007-10-30 13:38
2007.11.25
TListView без родителя


15-1193229698
abhtr
2007-10-24 16:41
2007.11.25
документация на русском для IBExpert


15-1192999930
SerJaNT
2007-10-22 00:52
2007.11.25
ACDSee 3.0