gpt4 book ai didi

c# - 为什么许多 XML 序列化示例会去除特定字符?

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

此处的许多 C# XML 序列化示例都包含如下代码

xml = xml.Substring(xml.IndexOf(Convert.ToChar(60)));
xml = xml.Substring(0, (xml.LastIndexOf(Convert.ToChar(62)) + 1));

我知道这会丢弃 < 和 > 周围的任何(不可打印/无效)字符,但为什么这些字符首先存在?

假设 UTF16 使用 Encoding.Unicode 和 XmlTextWriter。

最佳答案

Assume UTF16 using Encoding.Unicode with an XmlTextWriter.

与 XmlTextWriter 的构造一样,UTF 格式在这方面并不是真正的参与者。如果向 XmlTextWriter 传递一个包含您的 xml 变量的 StringReader,那么问题可能存在于 xml 最初是如何从磁盘读取的。

文本文件通常包含称为 BOM (Byte Order Mark) 的编码前导码。当读取不正确时,文件内容前会出现几个“奇怪”的字符。

我希望您的代码是一个可怜人试图从错误读取的文本文件中删除 BOM 的尝试。

关于c# - 为什么许多 XML 序列化示例会去除特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934101/

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