简化后,我有一个类似的XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><root> <data> </data></root>
如您所见,根条目标记后面有空格,数据标记中有空格。当我现在这样使用它时:
var xmldoc = new XmlDocument();
xmldoc.Load(stream);
文档丢失了两个空格,即根条目标记后面的空格和数据标记中的空格。
但如果我这样使用它:
var xmldoc = new XmlDocument();
xmldoc.PreserveWhitespace = true;
xmldoc.Load(stream);
则两个空间都被保留。
但根据文档(文档,备注部分(,默认设置PreserveWhitespace=false应该保留有效的空白,并去掉不重要的空白。但它清除了所有这些,数据标记中的一个非常重要。或者我明白这里有什么不对吗?
有效的空白是文本之间的空格,如";这是一个例子";但是,像您所描述的空标记并不重要,xml解析器会将其删除。