使用XDocument.Parse时保留回车符

sip*_*wiz 7 c# linq-to-xml

我有一个对回车敏感的应用程序是\ r \n或\n.我在XML中传递一个值,当我使用XDocument解析它时,回车符值被转换为\n而我正试图找到一种方法将其保留为\ r \n.

string myVal = "1234\r\nabcd";
string xmlText = "<doc>" + myVal + "</doc>";
XDocument xDoc = XDocument.Parse(xmlText);
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal));
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal.Replace("\r\n", "\n")));
Run Code Online (Sandbox Code Playgroud)

结果:

result=False
result=True
Run Code Online (Sandbox Code Playgroud)

Jos*_*osh 3

将 LoadOptions.PreserveWhitespace 传递给 XDocument.Parse 应该会保留无关紧要的空白,但从底部的社区内容来看,情况似乎并非如此。

您可以使用 XmlReader 加载到 XDocument 中吗?这可能会提供更大的灵活性。