1
我試圖提取名爲左側的子節點的值,它位於名爲設計的節點內,但發生了EInvalidPointer
。如何從XML文本中提取子節點值?
我使用的是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是特殊的 –