![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
XML! Намекните!
timekiller © (2007-10-17 23:31:00)Простите самого наиглупейшего програмера на всей планете!
Пишу парсер
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>
timekiller (2007-10-25 12:21:00) [1]как написать? if exist или if <>'' ??
вобще ниче не соображаю ..
clickmaker (2007-10-25 11:46:00) [2]Node.HasAttribute ?
timekiller (2007-10-25 11:40:00) [3]Мож кто подскажет как сделать проверку "Сучествует атрибут или нет" ??
timekiller (2007-10-25 10:40:00) [4]Вощм так посоветовали:
MainFRM.Caption:=FNode.attributes.getNamedItem('name').nodeValue;
работаед!
timekiller (2007-10-25 10:31:00) [5]getAttribute вопще не признает, что в USES писать окроме MSXML ???
Reindeer Moss Eater (2007-10-18 09:28:00) [6]r.SelectSingleNode('/header/item/docname /@name')
Skyle (2007-10-18 06:50:00) [7]
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) + ']');
Slym (2007-10-18 05:20:00) [8]вроде так
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']