Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让OpenXMLDOM解析器解析一个ntEntityRef节点?_Xml_Delphi_Delphi 2007 - Fatal编程技术网

如何让OpenXMLDOM解析器解析一个ntEntityRef节点?

如何让OpenXMLDOM解析器解析一个ntEntityRef节点?,xml,delphi,delphi-2007,Xml,Delphi,Delphi 2007,我有以下XML输入: <?xml version="1.0" encoding="utf-8"?> <string> &lt;N/A&gt; </string> 如何让openxml解析器将、>和类似的XML实体转换为它们的真实文本(如) 我可以为XML规范中的预定义实体编写一个变通方法: 但这对其他实体节点没有帮助 相关:在您的情况下,我认为InnerText属性应该可以工作 ShowMessage(Document.Document

我有以下XML输入:

<?xml version="1.0" encoding="utf-8"?>
<string>
&lt;N/A&gt;
</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);