加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:11:38 所属栏目:百科 来源:网络整理
导读:我在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"
我在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读