| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > XML delphi |
| Автор: golfV 1.12.2009, 13:16 | ||
| Всем привет! никак немогу разобраться с XML, надо из XML файла вытащить нужую инфу
надо вытащить эту строчку <DUT>TR42937263,HRY 901 06/1,R1B</DUT> и занеси эти 3 знечения в разные переменные, некак неполучается хотя бы вытщить эту строчку. Использую IXMLDocument. Подскажите как это сделать? |
| Автор: golfV 3.12.2009, 16:39 |
| Неужели нельзя вытащить эту информацию? |
| Автор: Dom 3.12.2009, 23:51 |
| Ну например что-то вроде такого может поможет XMLDoc.DocumentElement.ChildNodes.Nodes['DUT'].NodeValue; или XMLDoc.DocumentElement.ChildValues['DUT']; на счет второго вариант не вполне уверен В хелпе все достаточно подробно должно быть описано насколько я помню. |
| Автор: golfV 4.12.2009, 09:54 | ||
Да я в принципи так и делаю
ошибок не выдает, только вот как этот результат куда нибудь в переменую записать или в ListBox вывести? |
| Автор: golfV 4.12.2009, 11:42 | ||||
кое в чем разобрался сделал вот так
выводит "STD", вот как сделать чтоб он по всему файлу пробежался и вытащил информацию некак немогу разобраться если ставлю так
то выдает ошибку, подскажите как вытащить всю инфу? |
| Автор: Dom 4.12.2009, 12:20 | ||
А если так? Должно выдать 397. Кажется вспоминаю как работать со стандартным парсером. XMLDoc.DocumentElement.ChildNodes[0] указывает на первый узел в документе - это root. А вот его дочерние узлы это уже MEASDATA, STN и т.д. Т.е. при обращении Node := XMLDoc.DocumentElement.ChildNodes[1] должно выдавать ошибку т.к. этот узел не существует в документе (узлов на одном уровне с root нет). |
| Автор: golfV 4.12.2009, 12:46 | ||
разобрался надо было чтоб вытащить 397 сделать так
а вот как сделать чтоб цыклом по файлу пробежаться вот некак немогу догадаться? |
| Автор: Dom 5.12.2009, 07:32 | ||
Только на последнем узле код выдаст ошибку, т.к. узел <END /> в приведенном фрагменте хмл пустой. |
| Автор: golfV 7.12.2009, 09:33 |
| Спасибо, буду разбираться |