我有一个格式良好的XML,没有任何空格。它必须是那样的。
当我将其加载到XMLDocument进行签名时,自闭标签会获得额外的空白区域
<cEAN/>
变为:
<cEAN />
一旦签署此文件,就无法删除空格。
属性PreserveWhiteSpace对结果没有任何影响。
如何更改此行为?
答案 0 :(得分:3)
在XmlDocument
中关闭“/”之前没有空格。 XmlDocument
是由节点组成的数据结构。它是二进制的。这不是文字。
只有在将文档序列化为文本时,才会看到您看到的任何额外空间。
您实际上是在签名时遇到问题,还是只认为 会出现这样的问题?
答案 1 :(得分:0)
我以前遇到过这个问题。 XML由基本哈希签名,因此在序列化时无法更改。我通过编写一个序列化程序解决了这个问题,这样我就可以确定它会输出正确的XML。
基本配方是用XMLReader读取XML,并在出现时写出每个块。
答案 2 :(得分:0)
试试这个:
XMLDocument doc;
...
string XMLstring = doc.OuterXml.Replace(“/&gt;”,“/&gt;”);