Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

Парсировка xml файла. Есть ли что автоматизированное? Компаненты   Найти похожие ветки 

 
Yuraz ©   (2003-07-24 16:01) [0]

Поступила задача парсировать такой файл (часть привёл ниже), в принципе без проблем могу сделать поиск строковыми функциями, copy, pos. Потом надо вгонять в БД. Это тоже можно и руками сделать. А возможно ли, есть что то для работы с этим форматом файла, определяющий структуру, ветвления, вложенность и т.п. упрощающая работу программиста? Пож. посоветуйте.


- <period>
<datetimebegin>200307210000</datetimebegin>
<datetimeend>200307210030</datetimeend>
<overflowin>156747</overflowin>
<overflowout>35402</overflowout>
<generation>117000</generation>
<status>0</status>
</period>
- <period>
<datetimebegin>200307210030</datetimebegin>
<datetimeend>200307210100</datetimeend>
<overflowin>148853</overflowin>
<overflowout>35200</overflowout>
<generation>119000</generation>
<status>0</status>
</period>
- <period>
<datetimebegin>200307210100</datetimebegin>
<datetimeend>200307210130</datetimeend>
<overflowin>143647</overflowin>
<overflowout>37176</overflowout>
<generation>123000</generation>
<status>0</status>
</period>
- <period>
<datetimebegin>200307210130</datetimebegin>
<datetimeend>200307210200</datetimeend>
<overflowin>136008</overflowin>
<overflowout>40064</overflowout>
<generation>126000</generation>
<status>0</status>
</period>


 
Polevi ©   (2003-07-24 16:06) [1]

Msxml2.DOMDocument


 
Yuraz ©   (2003-07-24 16:25) [2]

Так уж получилось, сам себе отвечаю, нашёл http://mv.rb.ru
Вроде что надо.


 
Yuraz ©   (2003-07-24 16:38) [3]

Polevi © (24.07.03 16:06)
А где Msxml2.DOMDocument найти?


 
Polevi ©   (2003-07-24 16:47) [4]

его не надо искать, он у тебя есть
поищи в реестре


 
Yuraz ©   (2003-07-25 14:42) [5]

А как им воспользоваться?


 
Yuraz ©   (2003-07-25 14:45) [6]

Т.е. как например найти (код выше) <period>, и все его подзначения? Может есть пример использования?


 
DmS   (2003-07-25 14:46) [7]

TXMLDocument


 
Yuraz ©   (2003-07-25 15:14) [8]

DmS (25.07.03 14:46)
Какие компаненты умные, мне б такие, можно по почте выслать. На torry видел, скачал пару, да уж очень серьёзны. Хотел одной возпользоваться, так не нашёл конца и края в демке, как вытыкивать ветви и т.п.


 
Yuraz ©   (2003-07-25 15:30) [9]

Опа! Юзаю D7, кажись нашёл что искал!!!!!!!!!!


 
vuk ©   (2003-07-25 15:32) [10]

OpenXML: www.philo.de/xml


 
Yuraz ©   (2003-07-28 09:46) [11]

Приветствую всех в понедельник, и поздравляю с началом рабочей недели!!!

Посоветуйте, пожалуйста что нибудь!!! Ну ни как не получается работать с XML. Нужно его парсировать и получить данные. Есть в D7 хороший компанент XMLDocument, по нажатию на которого правой клавишей, если загружен в него файл XML, есть меню XML Data Binding Wizard, который отлично читает XML файл, и паказывает его структуру. Как с помощью этого компанента можно забрать данные из какой нимудь секции XML?

Смотрел сторонние компаненты, интересные, но мне нужен самый минимум, а в них много лишнего. В D7 есть ещё несколько компаненнт, возможно можно другими обойтись.


 
Yuraz ©   (2003-07-28 13:53) [12]

Возможнно ли хотя бы узнать, XMLDocument можно парсировать документ? (А данные - в БД)


 
Yuraz ©   (2003-07-28 14:19) [13]

Извиняюсь, если я ещё вам не недоел со свом xml файлом :(

Удалось добавить значение поля name в Treeview, но поле name встречается всего один раз в документе, и добавляется без проблем, а если пытаюсь добавить поле datetimebegin таким же образом, - пустая строка.

Treeview1.Items.add(nil, XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes["name"].Text);

Как возможно из секции <period> забрать значение <datetimebegin>? И пройтись в цикле по всем периодам?


 
Yuraz ©   (2003-07-28 15:15) [14]

Ура!! Закрываю тему, XML файлы я могу вскрыть вдоль и поперёк!!! Выдрать любые значения!!! Кому надо, пишите, напишу как в кратце делается.


 
Polevi ©   (2003-07-28 15:24) [15]

TClientDataset с полями ID Owner Name сохранен как dfXML в файл z1.xml

рисуем дерево в броузере

<html>
<script>

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("z1.xml")

Parse(xmlDoc.documentElement.selectNodes("//ROW[@ID=2]")[0]);

function Parse(node)
{
document.write("<UL><LI>"+node.getAttribute("NAME")+"</LI>");
var idarray =xmlDoc.documentElement.selectNodes("//ROW[@OWNER=""+node.getAttribute("ID")+""]")
for (var i=0;i<idarray.length;i++)
Parse(idarray[i])
document.write("</UL>")
}

</script>
</html>


 
Polevi ©   (2003-07-28 15:28) [16]

PS
@ID=2 это root



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

Текущий архив: 2003.08.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
1-33106
Kiril
2003-07-29 22:31
2003.08.11
Есть ли готовая процедура, компонента (PosWithMistakes)?


11-33084
Morthan
2002-12-05 08:21
2003.08.11
Как правильно обработать OnKeyDown?


1-33105
lord
2003-07-29 01:49
2003.08.11
чтение реестра


3-33078
Maxim_E.
2003-07-17 22:26
2003.08.11
Был бы обработчик события TDBGrid OnChangeColumnWidth он бы помог


1-33179
avkiev
2003-07-28 12:32
2003.08.11
Как при отладке не вываливаться в оболочку ?