【发布时间】:2012-10-12 12:38:18
【问题描述】:
每当我尝试使用XMLDocument.DocumentElement; 访问文档的根目录时,以下代码都会引发“InvalidPointer”异常。
begin
XMLDocument := TXMLDocument.Create(nil); // nil since we don't need an owner
AStream := TStream.Create; // stream for output as string
XMLDocument.loadFromXML(xml);// load string
if NOT (XMLDocument.IsEmptyDoc) then
begin
XMLDocument.Active := true; // actually automatically done by 'loadFromXML'
// get document root
HeadNode := XMLDocument.DocumentElement;
// add <id>-element, set ID as text
idNode := HeadNode.AddChild(XML_ID_PLAIN);
idNode.Text := id;
// ...
end;
end;
传递给loadFromXML(string) 的字符串“xml”是有效的XML,但XMLDocument 的属性“XML”和“DOMDocument”总是nil,即使对象本身和它的“IsEmptyDoc”属性都不是。 Delphi 版本仍然是 2007。
有人知道是什么原因造成的吗?提前致谢。
【问题讨论】:
-
我有一种预感,如果你告诉我们
XMLDocument变量是什么类型,答案就会变得显而易见。
标签: xml delphi root delphi-2007 txmldocument