xml - VB.net读取编码错误的XML文件

标签 xml vb.net unicode utf-8 xmltextreader

我已经找了几个小时了,但没有成功!

我有一个 XML 文件(由程序创建),我喜欢从中获取信息。 现在,我的问题是,文件的 header 是 UFTF-8,但文件是用 UNICODE 编码的! VB.net XmlTextReader 不会读取该文件...!?一旦到达“加载”,它就会抛出异常。 然后,我在 Notepad++ 中打开了这数千个 XML 文件之一,并将其​​另存为 UFT-8 - 好吧,猜猜看!该文件有效!

但我认为我不想更改服务器上的所有文件(每天都会添加新文件!)并且我认为我无法让开发人员更改他保存这些 XML 文件的方式。

关于如何“欺骗”VB.net 读取这些文件有什么想法吗?

谢谢!

最佳答案

将文件读入内存时可以更改编码

Dim Stream As New IO.StreamReader("File.xml", System.Text.Encoding.UTF8)
Dim Reader As New Xml.XmlTextReader(Stream)

对于更高级的方法,您可以首先检测文件的编码,然后尝试更改它。

关于xml - VB.net读取编码错误的XML文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527780/

相关文章:

java - 在android中调用自定义类/方法

javascript - 尝试在 JavaScript 中解析 XML 中的所有数据

vb.net - 使用SQLiteDataAdapter与SQLiteDataReader填充DataGridView的差异

vb.net - 在 Visual Basic 中切片字符串

javascript - 如何将脚本正确添加到控件?

MySQL 将 unicode 字符与 ascii 版本匹配

android - Android NDK 中的 u16string 和 char16_t

c# - RestSharp 序列化没有正确序列化类名

ruby-on-rails - 如何在 Ruby 中使用 X509Certificate 对 xml 进行签名?

unicode - Unicode 字符如何映射到字体中的字形?