XDocument将制表符更改为空格
本文关键字:空格 制表符 XDocument | 更新日期: 2023-09-27 18:15:42
我有一个简化后的xml文档:
<?xml version="1.0" encoding="utf-8"?>
<Node1 separator=" " />
存在一个't
作为属性值。
执行这段代码时
var path = @"C:'test.xml";
var doc = XDocument.Load(path);
doc.Save(path);
属性值由制表符改为空格。
<?xml version="1.0" encoding="utf-8"?>
<Node1 separator=" " />
是否有一种方法来保留原始值,因为它被要求是一个选项卡?
这是XML:属性值规范化的"属性中的XML空白规范化"部分,这是处理XML文档时的默认行为。
对于空白字符(#x20, #xD, #xA, #x9),在规范化值
后面附加一个空格字符(#x20)
您应该能够使用XmlTextReader。归一化属性,如下所述。XmlDocument可以从读取器XmlDocument. load加载。
var path = @"C:'test.xml";
XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(path);
doc.Load(reader);
var s = doc.SelectSingleNode("*/@*").InnerText;
Console.WriteLine("|{0}|, {1}", (int)s[0], s.Length); // prints 9 - ASCII code of tab
doc.Save(path);