如何避免XmlDocument类替换&实体与'字符? 例如,如果我有:
string xml = "<a> ' </a>";
完成后
var doc = new XmlDocument();
doc.LoadXml(xml);
string output = doc.OutterXml;
输出值为
"<a>'</a>"
我需要避免这种情况,因为我必须加载XML,进行一些更改并以数字方式对其进行签名,以便签名的XML必须是相同的加载。
答案 0 :(得分:1)
根据您的特定要求,请勿使用XmlDocument
或任何其他XML解析器来解析原始文档。
使用XmlDocument
或任何其他特定于XML的类来创建新文档,除了将占位符放在原始文档需要的位置,例如ORIGINAL_DOCUMENT_HERE
。然后,在为新文档生成生成的文本XML后,将ORIGINAL_DOCUMENT_HERE
替换为原始接收的文本,然后对结果进行签名。
不是使用XML的常规方法,但应该适用于您的特定用例。