простой парсинг XML

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

простой парсинг XML

Сообщение Sawer » 16.05.2007 07:02:04

Помогите вытянуть в файл (текстовый) даные из такой XML:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8" ?> 
- <device netaddr="756033">
- <measuringpoint>
  <measuringchannel name="Данные 1" code="100" tag="Значение 1" enable="true" /> 
  <measuringchannel name="Данные 2" code="300" tag="Значение 2" enable="true" /> 
  <measuringchannel name="Данные 3" code="400" tag="Значение 3" enable="true" /> 
  </measuringpoint>
  </device>


Как вытянуть в виде текстового файла
N = 756033
Данные 1 = Значение 1
Данные 2 = Значение 2
и т.д...

И что добавить, для обхода нескольких таких же URL по кругу
Sawer
новенький
 
Сообщения: 69
Зарегистрирован: 15.05.2007 22:53:48

Сообщение Slavikk » 16.05.2007 09:36:57

Оф. тутор. - http://wiki.lazarus.freepascal.org/Networking
Дополнение - http://www.thomas-zastrow.de/texte/fpcxml/index.php

В принципе этого достаточно. Посмотри получше примеры к статьям на www.thomas-zastrow.de - всё станет понятно.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Сообщение Sawer » 16.05.2007 22:23:43

например с кодом:
Код: Выделить всё
var
PassNode: TDOMNode;
Doc:      TXMLDocument;
begin
Doc := TXMLDocument.Create;
// Read in xml file from disk
ReadXMLFile(Doc, '1.xml');
// Retrieve the "password" node
PassNode := Doc.DocumentElement.FindNode('password');
// Write out value of the selected node
WriteLn(PassNode.NodeValue); // will be blank
// The text of the node is actually a separate child node
WriteLn(PassNode.FirstChild.NodeValue); // correctly prints "abc"

выдает:
Код: Выделить всё
1.pas(2,12) Error: Identifier not found "TDOMNode"
1.pas(2,20) Error: Error in type definition
1.pas(3,12) Error: Identifier not found "TXMLDocument"
1.pas(3,24) Error: Error in type definition
1.pas(5,9) Error: Identifier not found "TXMLDocument"
1.pas(7,2) Error: Identifier not found "ReadXMLFile"
1.pas(7,27) Error: Illegal expression
1.pas(9,18) Error: Illegal qualifier
1.pas(9,42) Fatal: Syntax error, ";" expected but "(" found
1.pas(9,42) Fatal: Compilation aborted


че делать?
Sawer
новенький
 
Сообщения: 69
Зарегистрирован: 15.05.2007 22:53:48

Сообщение Yogrik » 16.05.2007 22:40:47

Сходить по ссылкам

http://wiki.lazarus.freepascal.org/Networking писал(а):Currently there is a set of units that provides support for XML on Lazarus.
These units are called "XMLRead", "XMLWrite" and "DOM" and they are part
of the Free Component Library (FCL) from the Free Pascal Compiler.


Тут даже английского знать не надо
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru