Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.02.20;
Скачать: [xml.tar.bz2];

Вниз

Как прочитать данные xml файла?   Найти похожие ветки 

 
Сергей   (2010-11-29 18:11) [0]

Как прочить данные из второго тега <attribute>
<?xml version="1.0" encoding="UTF-8"?>
<obj-xml>
<object>
<attribute>
<name>ПОЛЕ1</name>
<value>0.00</value>
</attribute>
<attribute>
<name>ПОЛЕ2</name>
<value>0.45</value>
</attribute>
</object>
</obj-xml>

Этим кодом получилось прочитать только ПОЛЕ1 И 0.00, но как прочитать
ПОЛЕ2 и 0.45

XMLDocument1.Active := true;
StartItemNode := XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode("attribute") ;
ANode := StartItemNode;
repeat
RichEdit2.Lines.add(ANode.ChildNodes["name"].Text);
RichEdit2.Lines.add(ANode.ChildNodes["value"].Text);
until ANode <> nil;


 
clickmaker ©   (2010-11-29 18:15) [1]

в цикле по XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes
либо XPath-выражением в SelectNodes()


 
Сергей   (2010-11-30 13:09) [2]

SelectNodes() - А как это сделать?


 
Медвежонок Пятачок ©   (2010-11-30 13:49) [3]

в цикле по XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes
либо XPath-выражением в SelectNodes()


я бы не стал затачиваться на это, так как структура у него немного дурацкая.
Ему не нужен второй по порядку узел <attribute>.

Ему нужен узел /obj-xml/object/atribute[name="ПОЛЕ2"]
который может оказаться как вторым, так и стовторым в списке чайлдов <object>

То есть юзать надо xpath


 
Медвежонок Пятачок ©   (2010-11-30 13:57) [4]

Project->Import Type library->msxml (ver 4.0 оr above) -> create unit;
uses msxml2_tlb;

xdoc := CoDomDocument.create;
xdoc.Load(<fileName>);
iNode := xdoc.selectSingleNode("/obj-xml/object/atribute[name="ПОЛЕ2"]/value");
if iNode <> nil then
ShowMessage(iNode.text)



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

Форум: "Начинающим";
Текущий архив: 2011.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
15-1289481294
sniknik
2010-11-11 16:14
2011.02.20
Кто помнит функцию? Уголок статус бара.


11-1230410385
osteroid83
2008-12-27 23:39
2011.02.20
Что с kolnmck.ru


11-1227450180
Дмитрий
2008-11-23 17:23
2011.02.20
Полоса прокрутки


9-1188473601
@!!ex
2007-08-30 15:33
2011.02.20
Загрузочный экран.


2-1290672490
DeadAlice
2010-11-25 11:08
2011.02.20
Аналог функции sleep() без прерывания работы приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский