我处理的XML在其属性值中包含制表符(“\ t”)和换行符(“\ n”)。当我使用XDocument.Parse()解析它时,即使使用LoadOptions.PreserveWhitespace参数,制表符和换行符也将转换为空格。

如何获得具有原始属性值的XDocument?

最佳答案

您可以使用简单的XmlTextReader来解析xml字符串。它将保留属性值内的所有空格:

string textToParse = "<e a=\"x\ty\rz\n\" />" ;
using (var sr = new StringReader(textToParse)) {
    using (var xr = new XmlTextReader(sr)) {
        var xd = XDocument.Load(xr);
        System.Console.WriteLine(xd.ToString());
    }
}

将输出
<e a="x&#x9;y&#xD;z&#xA;" />

关于.net - 使用XDocument时如何在属性值中保留空格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3942762/

10-09 15:55