XmlDocument不会在标记之间保存空格

时间:2011-02-07 19:38:30

标签: .net xml xmldocument

XML的一部分:

<text:p>text1 <text:span>text2</text:span> <text:span>text3</text:span>text4</text:p>

您可以在text:span标记与text2和text3之间看到空格。当我调用XmlDocument.Load方法时,我有这张图片:

<text:p>text1 <text:span>text2</text:span><text:span>text3</text:span>text4</text:p>

移除了空白区域,但我在这个地方需要这个空间。 设置属性“PreserveWhitespace = true”没有帮助

2 个答案:

答案 0 :(得分:6)

PreserveWhitespace适合我。我的示例代码是

    string xml = "<root><p>text1 <span>text2</span> <span>text3</span>text4</p></root>";
    XmlDocument doc = new XmlDocument();
    doc.PreserveWhitespace = true;
    doc.LoadXml(xml);

    Console.Write(doc.InnerXml);

打印

<root><p>text1 <span>text2</span> <span>text3</span>text4</p></root>

还有span元素之间的空格。

答案 1 :(得分:1)

对于那些使用XDocument而不是XmlDocument的人:

XDocument.Load(xml, LoadOptions.PreserveWhitespace)