在使用XmlDocument获取InnerText或InnerXml时保留XML实体引用

时间:2013-08-07 12:33:34

标签: c# .net xml xmlnode xml-entities

我正在尝试使用InnerText获取Xml InnerXml的{​​{1}}或node,同时我想保留XmlDocument

但是,即使我尝试& ' ",它也只保留InnerXml但不保留&'

我想知道它发生的确切原因以及解决这个问题的方法。

e.g。假设我有一个带有"内文本的Xml节点,当我用"'Cancel' & 'Abort'"(或InnerXml)读取此节点时,它必须给我与字符串输出完全相同。 / p>

但是当我尝试这样做时,它返回InnerText 这意味着它只会保留"'Cancel' & 'Abort'"

注意:

&

这是我在XLIFF(XML)文件中的内容,因此在读取此XLIFF(XML)文件时,我想在两个节点内检索文本,因为它们现在可见,没有任何独占转换或任何处理。

问题是我拥有的XLIFf(XML)数据,包含<source>&quot;&amp;Cancel&apos;&quot;</source> <target>&quot;&amp;Cancel&apos;&quot;</target> '以及"&apos;,我的目标是检测这些实体引用为错误,因为我们不应该在我们的数据中使用它。 换句话说,我们的数据中只允许&quot;'

1 个答案:

答案 0 :(得分:-1)

尝试在WebUtility.HtmlEncode()InnerXML

上使用InnerText方法