Текущий архив: 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.51 MB
Время: 0.036 c