【问题标题】:Preserve the tab spacing and white spaces in attributes of XML [duplicate]保留 XML 属性中的制表符间距和空格 [重复]
【发布时间】:2013-05-31 18:36:57
【问题描述】:

我对 C# 和 XML 有非常基本的了解。我正在尝试使用 XMLDocument 加载 XML 文档,然后编辑 XML 的某些属性的值,最后保存带有更改的文档。我面临的问题是,在编辑和保存后,我无法获得与原始文档相同的格式。 例如,原始 XML 文档如下所示,

<M A="XML">                                                                                                       
<N  A="XMLLINE1"                    B="1"         C="2" D="3"           D="4" />
<N  A="XMLLINE2"                    B="5"         C="6" D="7"           D="8" /> 
</M>

将 B ="1" 的值编辑为 B="10" 后,我保存文档。现在属性 A、B、C 和 D 之间的间距不会保持不变。有什么方法可以保留这些空间,只需编辑值并保存文档? 本文档的要求是在原始文档中保留这些空格。 谢谢

【问题讨论】:

  • 这个 XML 文件最终会被不是 XML 解析器的东西解析吗?
  • 您是否在同一个查看器中查看输入和输出 XML?有时在网页浏览器中查看 XML 时,浏览器本身可能会更改元素中的间距以忽略一些空白。
  • @RacerNerd 我正在使用 Notepad++ 查看 XML。
  • @Matthew 我正在使用 XMLElement 和 XMLNodelist 来访问属性,然后我通过指定它的索引来更改所需的属性值。

标签: c# xml xml-parsing


【解决方案1】:

你不能这样做。如果您想保留空间,最好您可以编写自己的类来使用 StringBuilder 或流生成 XML,或者您可以使用 XMLWriter(http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter_members(v=vs.71).aspx) 手动格式化您的文档。

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2012-02-09
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多