使用 XmlSerializer 读取 UTF-16 编码的 XML 文件
我正在调用 WebService 并获取从 WebMethod 返回的字符串。该字符串是序列化为 XML 的对象,应使用 System.Xml.XmlSerializer 对其进行反序列化。
我的问题是,第一行表明文档是 UTF-16 编码的:
<?xml version="1.0" encoding="utf-16"?>
因此,在反序列化时,我收到错误:
There is an error in XML document (0, 0).
它确实可以执行 string.Replace("utf-16", "utf-8"),但是有必须是一个干净的方法来让 XmlSerializer 知道吗?
I am calling a WebService and get a string returned from a WebMethod. The string is an object serialized as XML that should be deserialized using the System.Xml.XmlSerializer.
My problem is that the first line indicates that the document is UTF-16 encoded:
<?xml version="1.0" encoding="utf-16"?>
So when deserializing, i get the error:
There is an error in XML document (0, 0).
It does work to do string.Replace("utf-16", "utf-8"), but there must be a clean method to let the XmlSerializer know?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不应该影响任何事情 - 以下工作正常:
That shouldn't affect anything - the following works fine: