Главная страница
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.025 c
15-1192166354
oxffff
2007-10-12 09:19
2007.11.18
Чудеса компилятора Delphi. Баг?


15-1192432862
Ломброзо
2007-10-15 11:21
2007.11.18
VisioModeler


15-1192375543
исследователь
2007-10-14 19:25
2007.11.18
Размер поля БД


2-1193167102
AlexeyN
2007-10-23 23:18
2007.11.18
Стиль оформления как в MS Office


2-1193242917
Начинающий
2007-10-24 20:21
2007.11.18
fast reports 2.54