Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
C# 避免逃离&;载脂蛋白;具有.NET XmlDocument类的实体_C#_.net_Xmldocument - Fatal编程技术网

C# 避免逃离&;载脂蛋白;具有.NET XmlDocument类的实体

C# 避免逃离&;载脂蛋白;具有.NET XmlDocument类的实体,c#,.net,xmldocument,C#,.net,Xmldocument,如何避免XmlDocument类替换&apos;具有“字符”的实体? 例如,如果我有: string xml = "<a> &apos; </a>"; 产出的价值是 "<a>'</a>" “” 我需要避免这种情况,因为我必须加载XML,进行一些更改并对其进行数字签名,以便签名的XML必须与加载的XML相同。对于您的特定要求,不要使用XmlDocument或任何其他XML解析器来解析原始文档 请务必使用XmlDocument或任何其他特

如何避免XmlDocument类替换&apos;具有“字符”的实体? 例如,如果我有:

string xml = "<a> &apos; </a>";
产出的价值是

"<a>'</a>"
“”

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

对于您的特定要求,不要使用
XmlDocument
或任何其他XML解析器来解析原始文档

请务必使用
XmlDocument
或任何其他特定于XML的类来创建新文档,除非在原始文档需要放置的位置放置占位符,如
original\u document\u此处
。然后,在为新文档生成结果文本XML后,用原始接收文本替换此处的原始文档,然后对结果进行签名


这不是处理XML的正常方法,但应适用于您的特定用例。

您不能对XML文档进行更改并对其进行签名,使其与更改前的相同。这就是改变的定义。那么…你能更详细地解释一下吗<代码>&apos和
在元素文本中应该是可互换的。另外,您使用
XmlDocument
而不是
XDocument
有什么原因吗?事实上,在我添加后,符号将应用于XML,这样就不会有问题了,问题是如果XML最初带有&apos;加载到XmlDocument对象后,它会变为“是的,使用XmlDocument而不是XDocument有一些原因,但无论如何,我使用XDocument进行了测试,结果是一样的。我想知道为什么人们不提供答案,只是对这个问题投了否决票。投否决票是有原因的吗?如果你给我你的理由,我愿意改进这个问题。SamuelNeff,thanx谢谢你的回答,但问题是我使用.Net framework来执行签名,它在XmlDocument下面使用,所以我也需要另一个签名库。这是一件大事,因为我正在工作的项目很旧,而且充满了XmlDocument用法,所以我需要更改大量工作正常的代码(当然,实体除外)。@hdkrus,听到这个消息很抱歉。遗留代码总是很有趣的。
"<a>'</a>"