Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг xml 
:(
    Опции темы
Ventur
Дата 13.11.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.9.2006

Репутация: нет
Всего: нет



Добрый день, господа. Есть маленькая проблема с парсингом xml.  Необходимо вытащить все данные.

Код

<xml>
<docs>
<doc template="t1.doc">
<par name="par1" value="value1"/>
<par name="par2" value="value2"/>
</doc>
<doc template="t2.doc">
<par name="par1" value="value3"/>
</doc>
...
</doc>
<doc template="tn.doc">
<par name="par1" value="valueM"/>
</doc>
...
</docs>
</xml>


В Buider C++ впервые сталкиваюсь с этим, поэтому прошу помощи. Искал на форуме - не нашел, или просто не понял, как это сделать. Прогу нужно написать очень в скорых темпах, так бы не задавал здесь глупые вопросы, а читал help)).

Заранее спасибо.
PM MAIL   Вверх
Ventur
Дата 13.11.2006, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.9.2006

Репутация: нет
Всего: нет



Дохлая тема))
Или понедельник
PM MAIL   Вверх
Rodman
Дата 13.11.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Код

procedure TFormXmlTree.btnLoadClick(Sender: TObject);
begin
  OpenDialog1.InitialDir := ExtractFilePath (Application.ExeName);
  if OpenDialog1.Execute then
  begin
    XMLDocument1.LoadFromFile(OpenDialog1.FileName);
    Treeview1.Items.Clear;
    DomToTree (XMLDocument1.DocumentElement, nil);
    TreeView1.FullExpand;
  end;
end;
   
procedure TFormXmlTree.DomToTree (XmlNode: IXMLNode; TreeNode: TTreeNode);
var
  I: Integer;
  NewTreeNode: TTreeNode;
  NodeText: string;
  AttrNode: IXMLNode;
begin
  // skip text nodes and other special cases
  if XmlNode.NodeType <> ntElement then
    Exit;
  // add the node itself
  NodeText := XmlNode.NodeName;
  if XmlNode.IsTextElement then
    NodeText := NodeText + ' = ' + XmlNode.NodeValue;
  NewTreeNode := TreeView1.Items.AddChild(TreeNode, NodeText);
  // add attributes
  for I := 0 to xmlNode.AttributeNodes.Count - 1 do
  begin
    AttrNode := xmlNode.AttributeNodes.Nodes[I];
    TreeView1.Items.AddChild(NewTreeNode,
      '[' + AttrNode.NodeName + ' = "' + AttrNode.Text + '"]');
  end;
  // add each child node
  if XmlNode.HasChildNodes then
    for I := 0 to xmlNode.ChildNodes.Count - 1 do
      DomToTree (xmlNode.ChildNodes.Nodes [I], NewTreeNode);
end;


вот есть кое что... но на Делфи... попробуй перевести... 

Если что спрашивай...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Ventur
Дата 13.11.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.9.2006

Репутация: нет
Всего: нет



так, ссылка для меня. Потом проанализирую..
http://bdn1.borland.com/article/borcon/fil...paper/4118.html


Исходники, что накопал:
Добавлено @ 23:11 
http://delphi.borlandforum.com/impboard/at...041962/Temp.zip
http://www.borlandforum.com/impboard/attac...cb6del6_pro.zip

Может, еще кому пригодится.

Тема не закрыта

Это сообщение отредактировал(а) Ventur - 13.11.2006, 23:12

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  TXMLDocument_bcb6del6_pro.zip 8,89 Kb
PM MAIL   Вверх
malor
Дата 13.5.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Ventur, можешь выложить код(Delphi/Builder), которым пропарсил свой xml-файл?
PM MAIL   Вверх
Klin
Дата 13.5.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: 20
Всего: 25



malor, последнее посещение Ventur`а было 20.11.2006. Я конечно оптимист  smile  , но думаю не нужно питать особых надежд на ответ от него. 


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0900 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.