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

Вниз

XML! Намекните!   Найти похожие ветки 

 
timekiller   (2007-10-17 23:31) [0]

Простите самого наиглупейшего програмера на всей планете!
Пишу парсер

 XMLD:=CoDoc.Create;
 XMLD.load(URL);
 r:=XMLD.documentElement;
 FNode:=r.SelectSingleNode("//header");
 FNode:=FNode.SelectSingleNode("//item");
 MainFRM.Caption:=FNode.SelectSingleNode("//docname").text;

Тоесть считываю теги без проблем <hren>СЧИТАНО</hren> ...

Вопрос:
а как считать параметры тегов?? если например я напишу <hren name="OPA_ETO_HREN" width="666" итд>ТЕКСТ</hren>


 
Slym ©   (2007-10-18 05:20) [1]

вроде так
r:=XMLD.documentElement;
MainFRM.Caption:=r.SelectSingleNode("/header/item/docname@name").text;
MainFRM.Caption:=r.SelectSingleNode("/header/item/docname@width").text;

или ищем /header/item/docname а потом обращаемся к нему attributes["name"]


 
Skyle ©   (2007-10-18 06:50) [2]

FNode := XMLD.selectSingleNode("header/item");
if Assigned(FNode) then
 MainFRM.Caption := VarAsType(FNode.getAttribute("mycaption"), varString);


Главное найти ноду, потом у неё можно спрашивать getAttribute.

А то, что написано у

> Slym ©   (18.10.07 05:20) [1]

больше похоже на поиск конкретной ноды.
например в документе
<root>
 <item id="1"/>
 <item id="2"/>
 .......
  <item id="x"/>
</root>


можно искать нужный нод вот так

FNode := XMLD.selectSingleNode("root/item[@id=" + IntToStr(NeededId) +  "]");


 
Reindeer Moss Eater ©   (2007-10-18 09:28) [3]

r.SelectSingleNode("/header/item/docname/@name")


 
timekiller ©   (2007-10-25 10:31) [4]

getAttribute вопще не признает, что в USES писать окроме MSXML ???


 
timekiller ©   (2007-10-25 10:40) [5]

Вощм так посоветовали:

MainFRM.Caption:=FNode.attributes.getNamedItem("name").nodeValue;

работаед!


 
timekiller ©   (2007-10-25 11:40) [6]

Мож кто подскажет как сделать проверку "Сучествует атрибут или нет" ??


 
clickmaker ©   (2007-10-25 11:46) [7]

Node.HasAttribute ?


 
timekiller ©   (2007-10-25 12:21) [8]

как написать? if exist или if <>"" ??

вобще ниче не соображаю ..



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
2-1193493258
antonn
2007-10-27 17:54
2007.11.18
вызов процедуры по адресу


15-1192705076
Evanescence
2007-10-18 14:57
2007.11.18
Тоже про диал-ап :)


2-1193291606
Sergl
2007-10-25 09:53
2007.11.18
Как убрать перевод строки при работе с memo?


1-1188223761
DevilDevil
2007-08-27 18:09
2007.11.18
WMNCHITTEST и HTCAPTION


2-1193118344
F@T@L_Err0r
2007-10-23 09:45
2007.11.18
Выбор папки