【问题标题】:How to remove whitespace from an XmlDocument如何从 XmlDocument 中删除空格
【发布时间】:2009-08-05 05:36:07
【问题描述】:

我有一个 XML 文档,我想从中删除空格和回车符。如何使用 C# 获取修改后的 XML。

【问题讨论】:

    标签: c# xml


    【解决方案1】:

    将 preserveWhitespace 标志设置为 false:

    XmlDocument doc = new XmlDocument();
    doc.PreserveWhitespace = false;
    doc.Load("foo.xml");
    // doc.InnerXml contains no spaces or returns
    

    【讨论】:

    • AareP 正确,之后直接使用 doc.LoadXml(...) 时不起作用。
    • 请注意,如果文档包含任何xml:space="preserve" 属性,它将不起作用(当然是设计使然),因此必须在加载之前删除这些属性。
    【解决方案2】:

    去除标签之间的空格:

    # Regex regex = new Regex(@">\s*<");  
    # string cleanedXml = regex.Replace(dirtyXml, "><");
    

    来源和其他有用信息here

    【讨论】:

    • 它不会也从 CDATA 部分中删除空格吗?换句话说,在应该完好无损的地方?
    猜你喜欢
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多