gpt4 book ai didi

c# - XDocument 将制表符更改为空格

转载 作者:行者123 更新时间:2023-11-30 22:17:25 27 4
gpt4 key购买 nike

我有一个简化后的 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:Attribute-Value Normalization 的“属性中的 XML 空白规范化”部分这是处理 XML 文档时的默认行为。

For a white space character (#x20, #xD, #xA, #x9), append a space character (#x20) to the normalized value

您应该能够使用 XmlTextReader.Normalization属性描述 here . 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);

关于c# - XDocument 将制表符更改为空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767481/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com