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

Вниз

Как пробежать по XML и считать атрибуты?   Найти похожие ветки 

 
Erik   (2003-08-12 12:11) [0]

Вот масив строк
<result MAC_address="ff:00:00:00:00:fe" id="2111816756" value="success" />
Использую SimpleXML.


 
NAlexey ©   (2003-08-12 12:42) [1]


в Uses - ComObj

procedure TForm1.Button1Click(Sender: TObject);
var
Doc, Node, Attr: Variant;
I: Integer;
begin
Doc := CreateOleObject("Msxml2.DOMDocument.4.0");
Doc.DocumentElement := Doc.CreateElement("DATA");
Node := Doc.CreateElement("result");
Doc.DocumentElement.AppendChild(Node);

Attr := Doc.CreateAttribute("MAC_address");
Attr.Value := "ff:00:00:00:00:fe";
Node.SetAttributeNode(Attr);

Attr := Doc.CreateAttribute("id");
Attr.Value := "2111816756";
Node.SetAttributeNode(Attr);

Attr := Doc.CreateAttribute("value");
Attr.Value := "success";
Node.SetAttributeNode(Attr);
for I := 0 to Node.Attributes.Length - 1 do
begin
Attr := Node.Attributes.Item(I);
if TVarData(Attr).VDispatch <> nil then
ShowMessage(Attr.Name + " - " + Node.GetAttribute(Attr.Name));
end;
end;


 
Erik   (2003-08-12 14:33) [2]

У меня загружается уже готовый XML документ. Я пользуюсь парсером SimpleXML! Создать нужный XML непроблема, у меня был пример. А вот как пробежатся по уже готовому? Мне надо перебирать не атребуты, сами узлы.


 
NAlexey ©   (2003-08-12 14:39) [3]

Скорее всего не смогу ответить, так как не знаю что такое SimpleXML и какие там методы. В msxml скорее всего это выглядело бы так:
var
Node: Variant;
for I := 0 to XmlDocument.DocumentElement.ChildNodes.Length - 1 do
begin
Node := XmlDocument.DocumentElement.Item(I);
//Работай с узлом
end;
Это ты пробежишся по потомкам корневого узла, для обхода дерева узлов напишешь рекурсию.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-81911
vopros
2003-08-07 14:29
2003.08.25
Люди помогите c Indy.Надо файл-вложения сделать.


3-81561
dima74
2003-07-30 10:53
2003.08.25
Переход по столбцам в DBGrid


14-81937
____Nikolay
2003-08-07 05:58
2003.08.25
Сегодня обнаружил своего клона :)


1-81664
ХМЛ-щик
2003-08-08 14:53
2003.08.25
XPath. Как разрулить между двойными и одинарными кавычками?


1-81705
pepper
2003-08-06 14:23
2003.08.25
Сообщения