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

Вниз

Проблема с разбором XML-файла.   Найти похожие ветки 

 
Shaden   (2005-07-24 13:42) [0]

Уважаемые мастера, прошу вашей помощи. Имеется вот такой XML-файл, из него надо извлечь данные, находящиеся в тегах name и value:

<?xml version="1.0" ?>
<methodResponse>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>news_id</name>
     <value>
      <string>4</string>
     </value>
    </member>
    <member>
     <name>date</name>
     <value>
      <dateTime.iso8601>20020627T04:45:50</dateTime.iso8601>
     </value>
    </member>
    <member>
     <name>title</name>
     <value>
      <string>More Standards for Web Services!</string>
     </value>
    </member>
    <member>
     <name>full_desc</name>
     <value>
      <string>WSDL is dead! Long live WSCI! Yep - it"s another standard this time at the description layer.

Seems IBM and Microsoft have been ganging up on Sun, as far as the development of web services goes.

It"s all here: http://www.theregister.co.uk/content/23/25914.html

All we need now is Oracle to release a few standards to interface to their database via a web service...</string>
     </value>
    </member>
    <member>
     <name>author</name>
     <value>
      <string>ComputerWire</string>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodResponse>

Я делаю так (использую TXMLDocument):

XMLDoc.XML.Add(S);
XMLDoc.Active:= true;
root := XMLDoc.DocumentElement;
S:= root.ChildNodes.Nodes["params"].ChildNodes.Nodes["param"].ChildNodes.Nodes["value"].ChildNodes.Nodes["struct"].ChildNode s.Nodes["member"].ChildNodes.Nodes["name"].Text;
ShowMessage(S);
S:= root.ChildNodes.Nodes["params"].ChildNodes.Nodes["param"].ChildNodes.Nodes["value"].ChildNodes.Nodes["struct"].ChildNode s.Nodes["member"].ChildNodes.Nodes["value"].ChildNodes.Nodes["string"].Text;
ShowMessage(S);

Но тут возникает у меня вопрос: как считать следующие данные, которые находятся в следующем теге <member> и как быть, если в <value></value> стоит не <string> </string> (<value><string>ComputerWire</string></value>), а <dateTime.iso8601></dateTime.iso8601> (<value><dateTime.iso8601>20020627T04:45:50</dateTime.iso8601></value>)?
Возможно, я делаю неправильно, просто с XML не работал никогда.
Заранее спасибо за советы.


 
just_me   (2005-07-24 18:42) [1]

Читай MSXML SDK про методы selectNodes, selectSingleNode, про шаблоны XPath. Без хотя бы элементарного понимания этих вещей от XML мало пользы



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
14-1122018175
Fin
2005-07-22 11:42
2005.08.14
Что делать или как поступить?


9-1114071044
Xenon
2005-04-21 12:10
2005.08.14
Алгоритм в текстовых квестах


14-1122033554
Александр Иванов
2005-07-22 15:59
2005.08.14
"Искусство программирования" Кнута в "нормальном" формате


6-1112417763
Evgenius
2005-04-02 08:56
2005.08.14
Програмная генерация события в TwebBrowser


3-1120640289
-=snoop=-
2005-07-06 12:58
2005.08.14
обновление DBGrid