避免使用.NET XmlDocument类转义'实体

时间:2014-09-02 22:12:24

标签: c# .net xmldocument

如何避免XmlDocument类替换&实体与'字符? 例如,如果我有:

string xml = "<a> &apos; </a>";

完成后

var doc = new XmlDocument();
doc.LoadXml(xml);
string output = doc.OutterXml;

输出值为

"<a>'</a>"

我需要避免这种情况,因为我必须加载XML,进行一些更改并以数字方式对其进行签名,以便签名的XML必须是相同的加载。

1 个答案:

答案 0 :(得分:1)

根据您的特定要求,请勿使用XmlDocument或任何其他XML解析器来解析原始文档。

使用XmlDocument或任何其他特定于XML的类来创建新文档,除了将占位符放在原始文档需要的位置,例如ORIGINAL_DOCUMENT_HERE。然后,在为新文档生成生成的文本XML后,将ORIGINAL_DOCUMENT_HERE替换为原始接收的文本,然后对结果进行签名。

不是使用XML的常规方法,但应该适用于您的特定用例。