我可以在 Delphi 中将 msxml.IXMLDOMNode 转换为 XmlIntf.IXMLNode 吗?
我已将 som xml 读入 msxml.IXMLDOMDocument 对象。但是,我正在使用的 API 中有一个实用程序方法,我想调用该方法,但它需要 XmlIntf.IXMLNode 作为参数。
有没有一种简单的方法可以将 IXMLDOMNode 实例从我的文档转换为 IXMLNode,以便我可以将其传递给该方法,而无需将 xml 加载到 TXmlDocument 对象中?
现在我已经实施了这个解决方法:
function ConvertNode(const Node: IXMLDOMNode): IXMLNode;
var
Document: IXMLDocument;
begin
Document := NewXMLDocument;
Document.LoadFromXML(Node.xml);
Result := Document.DocumentElement;
end;
I have read som xml into an msxml.IXMLDOMDocument object. However, there is a utility method in an API that I am using, that I would like to call, but it takes an XmlIntf.IXMLNode as an argument.
Is there a simple way to convert an IXMLDOMNode instance from my document to an IXMLNode so I can pass it to the method without having to load the xml into a TXmlDocument object?
For now I have implemented this workaround:
function ConvertNode(const Node: IXMLDOMNode): IXMLNode;
var
Document: IXMLDocument;
begin
Document := NewXMLDocument;
Document.LoadFromXML(Node.xml);
Result := Document.DocumentElement;
end;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建一个
IXMLDocument
实例并将其“附加”到您的IXMLDOMDocument
。这是一个小例子:You can create an instance of
IXMLDocument
and "attach" it to yourIXMLDOMDocument
. Here's a small example: