保留\ r \ n在XElement.Load上

时间:2011-06-20 14:45:43

标签: c#

有没有办法可以保留\ r \ n在XElement.Load()上。

  TextReader reader = new StringReader(rawInputString);//rawInputString is just text in html format
    XElement root = XElement.Load(reader);

修改:

string  rawInputString =  "<Html><Body><p></p> \r\n <p></p>\r\n \r\n \r\n </Body></Html>";

在XELement.Load之后我想要的输出是相同的当我做root.ToString():

"<Html><Body><p></p> \r\n <p></p>\r\n \r\n \r\n </Body></Html>"

现在它只是清理/删除\ r \ n

1 个答案:

答案 0 :(得分:6)

这应该可以解决问题:

XElement root = XmlElement.Load(reader, LoadOptions.PreserveWhitespace);

查看此文章以获取更多信息:Preserving White Space while Loading or Parsing XML

此外,对XElement.ToString()方法进行调用会导致XElement应用自己的格式。为了防止这种情况发生,您必须致电XElement.ToString(SaveOptions.DisableFormatting)