Главная страница
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.023 c
15-1192369598
sdubaruhnul
2007-10-14 17:46
2007.11.18
Электроника, с чего начать?


4-1178892371
Zagaevskiy
2007-05-11 18:06
2007.11.18
Handle иконок рабочего стола


2-1193142958
__Alex
2007-10-23 16:35
2007.11.18
TListBox, MoveItems?


15-1192088949
DVM
2007-10-11 11:49
2007.11.18
chm в Delphi2007 и клавиша F1


15-1192360899
asker
2007-10-14 15:21
2007.11.18
turbo basic for windows