c# – xdocument save保留标签内的空白区域

前端之家收集整理的这篇文章主要介绍了c# – xdocument save保留标签内的空白区域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在LINQ中使用XDocument来编辑(插入)并保存xml文档.
XDocument doc = XDocument.Load("c:\\sample.xml",LoadOptions.PreserveWhitespace);
doc.Save("c:\\sample.xml",SaveOptions.DisableFormatting)

doc.Save之前的sample.xml:

<ELEMENT ATTRIB1="attrib1"  ATTRIB2="attrib2" >
    value
</ELEMENT>

doc.Save之后的sample.xml

<ELEMENT ATTRIB1="attrib1" ATTRIB2="attrib2">
    value
</ELEMENT>

如您所见,在原始文档中ATTRIB1之后有一个双空格,在ATTRIB2之后有一个空格.
但是当我调用doc.save时,linq已经删除了这些空格.

如何保留标签内的空格?

解决方法

我相信LoadOptions.PreserveWhitespace和SaveOptions.DisableFormatting仅指示XDocument如何根据缩进和文本节点的内容处理空白.它仍会使属性等正常化.

您可能希望在指定配置为执行所需操作的XmlWriter时使用重载,如果找不到与默认XmlTextWriter一起使用的配置,则可以始终创建自己的XmlWriter.

猜你在找的C#相关文章