Я пытаюсь извлечь значение подзаголовка с именем слева, который находится внутри узла с именем дизайн, но происходит EInvalidPointer
.Как извлечь значение субнома из текста XML?
Я использую Delphi 2007 и это XML текст:
<design>
<top>
0
</top>
<left>
5
</left>
<height>
177
</height>
<width>
130
</width>
</design>
И это код:
uses
XMLDoc, XMLIntf...
var
Stream : TStream;
Doc : TXMLDocument;
Node : IXMLNode;
begin
Stream := TStringStream.Create(Memo1.Lines.Text);
try
Doc := TXMLDocument.Create(nil);
try
Doc.LoadFromStream(Stream);
Node := Doc.ChildNodes.FindNode('design');
if(Node <> nil) then
begin
Node := Node.ChildNodes.FindNode('left'); //EInvalidPointer here
if(Node <> nil) then
begin
//...
end;
end;
finally
Doc.Free;
end;
finally
Stream.Free;
end;
end;
Может кто-то помочь мне понять, что я делаю неправильно?
Почему использование TButton таким же образом не вызывает проблем? Это счастливый случай или есть что-то, что делает TXMLDocument так себя вести? – ExDev
@ExDev, Tbutton не является сопряженным объектом. – whosrdaddy
TXMLDocument является специальным –