如何让OpenXMLDOM解析器解析一个ntEntityRef节点?
我有以下XML输入:如何让OpenXMLDOM解析器解析一个ntEntityRef节点?,xml,delphi,delphi-2007,Xml,Delphi,Delphi 2007,我有以下XML输入: <?xml version="1.0" encoding="utf-8"?> <string> <N/A> </string> 如何让openxml解析器将、>和类似的XML实体转换为它们的真实文本(如) 我可以为XML规范中的预定义实体编写一个变通方法: 但这对其他实体节点没有帮助 相关:在您的情况下,我认为InnerText属性应该可以工作 ShowMessage(Document.Document
<?xml version="1.0" encoding="utf-8"?>
<string>
<N/A>
</string>
如何让openxml
解析器将
、>
和类似的XML实体转换为它们的真实文本(如
)
我可以为XML规范中的预定义实体编写一个变通方法:
但这对其他实体节点没有帮助
相关:在您的情况下,我认为
InnerText
属性应该可以工作
ShowMessage(Document.DocumentElement.InnerText);
Edit:InnerText属性不是
IXMLNode
接口的一部分(我认为MSXML有它)。OpenXML实现(ADOM)有一个GetTextContent
方法,它可能做同样的事情,因此,您可能需要研究一下。较新版本的Delphi不再提供oxmldom单元,而较新版本的所谓ADOM可用:
因此,使用不同的解析器或升级OpenXML解决了问题。您是否尝试使用OpenXML验证文档?@Pol-他为什么要这样做?在
IXMLNode
中没有InnerText
(至少在D2007中是这样)。除非我遗漏了什么?
ShowMessage(Document.DocumentElement.InnerText);