在 C# 中使用 UTF-8 编码读取 XML 文件时,默认情况下会自动添加 '' 这段 XML 声明。这是因为 Encoding.UTF8.GetString 方法是将字节数组转换为字符串,而不是解析 XML。

如果你不想要这段 XML 声明,可以在读取 XML 文件之后,将字符串中的这段声明去掉,例如:

string xmlString = Encoding.UTF8.GetString(xmlBytes);
xmlString = xmlString.Replace('<?xml version="1.0" encoding="utf-8"?>', '');

这样就可以去掉字符串中的 XML 声明部分。注意,这仅适用于你确定 XML 声明始终是在字符串的开头的情况下。如果 XML 声明的位置不固定,或者你需要更复杂的 XML 解析操作,建议使用专门的 XML 解析库,如 System.Xml 命名空间下的相关类。

C# 读取 UTF-8 编码 XML 文件时去除 '<?xml version=' 声明" title="C# 读取 UTF-8 编码 XML 文件时去除 '' 声明" loading="lazy">

原文地址: https://www.cveoy.top/t/topic/L5X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录