XML 反序列化失败

2024-04-14

我正在反序列化以下 XML 文件。使用 XML 序列化器与 VSTS 2008 + C# + .Net 3.5。

这是 XML 文件。

<?xml version="1.0" encoding="utf-8"?>
<Person><Name>=b?olu</Name></Person>

这是显示 XML 文件和 XML 文件的二进制格式的屏幕快照,

如果有一些解决方案来接受这些字符,那就太好了!由于我的XML文件很大,如果这些字符确实无效并且应该过滤掉,我想在反序列化后保留XML文件的剩余内容。

目前,XML 反序列化失败并出现 InvalidOperationException,并且整个 XML 文件信息将丢失。

实际上,当在VSTS中打开这个XML文件时,会出现这样的错误,错误1字符'?',十六进制值0xffff在XML文档中是非法的。我很困惑,因为在二进制形式中,没有 0xffff 值。

有什么解决方案或想法吗?

EDIT1:这是我的代码,用于反序列化 XML 文件,

    static void Foo()
    {
        XmlSerializer s = new XmlSerializer(typeof(Person));
        StreamReader file = new StreamReader("bug.xml");
        s.Deserialize(file);
    }

public class Person
{
    public string Name;
}

这种风格有帮助吗?

<name>
   <![CDATA[
     =b?olu
   ]]>
</name>

要么那个或者encoding http://en.wikipedia.org/wiki/Character_encodings_in_HTML应该可以解决问题。

编辑:找到此页面:http://www.eggheadcafe.com/articles/system.xml.xmlserialization.asp http://www.eggheadcafe.com/articles/system.xml.xmlserialization.asp。具体来说,这段反序列化代码:

public Object DeserializeObject(String pXmlizedString)
 {
     XmlSerializer xs = new XmlSerializer(typeof(Automobile));
     MemoryStream memoryStream = new MemoryStream(StringToUTF8ByteArray(pXmlizedString));
     XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
     return xs.Deserialize(memoryStream);
  } 

关于“StringToUTF8ByteArray”和“Encoding.UTF8”的部分看起来很奇怪,你的部分没有。我猜 .NET 不喜欢读取实际 XML 文件的编码...?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XML 反序列化失败 的相关文章

随机推荐

  • 使用长按手势对表格视图中的单元格重新排序?

    我希望能够使用长按手势 而不是使用标准重新排序控件 对表格视图单元格重新排序 识别长按后 我希望 tableView 实质上进入 编辑模式 然后重新排序 就像我使用 Apple 提供的重新排序控件一样 有没有一种方法可以在不需要依赖第三方解
  • Python - 检查用户是否具有管理员权限

    我正在用 Python 3 x 编写一个小程序作为自学项目 我的想法是让程序允许用户输入两个文本字段 然后将用户的输入插入到两个特定注册表项的值中 有没有一种简单的方法来检查当前用户是否可以访问注册表 我宁愿它清楚地告诉用户他 她需要管理员
  • 快速选择所有带有css背景图片的元素

    我想抓取页面上具有 css 背景图像的所有元素 我可以通过过滤函数来做到这一点 但在包含许多元素的页面上速度非常慢 filter function return this css background image addClass bg f
  • 在python 2.7中使用for循环创建多个数据帧

    我有一个位置列表 HOME Office SHOPPING 和一个 pandas 数据框 DF Start Location End Location Date OFFICE HOME 3 Apr 15 OFFICE HOME 3 Apr
  • iOS 获取代理设置

    在我的项目中 我使用 libcurl 通过互联网下载数据 问题是 libcurl 无法检测 wifi 连接的代理设置 我必须手动设置 libcurl 的设置 所以我想知道如何获取 wifi 连接的代理设置 我在钥匙串中找到了一些有关信息的线
  • 邮件程序错误缺少模板

    Hello 我有问题行动邮递员 当我尝试执行操作时 rake send email 我收到一个错误 rake aborted ActionView MissingTemplate Missing template user mailer m
  • 使用 PHP 从 S3 获取视频并上传到 YouTube

    我有一些代码可以将视频文件上传到 YouTube yt new Zend Gdata YouTube httpClient create a new VideoEntry object myVideoEntry new Zend Gdata
  • 在增强for循环中使用final for循环变量的目的是什么?

    我理解下面的声明是如何工作的 for final Animal animal animalList do some function 但是这里使用final关键字的目的是什么 这样做有两个可能的原因 它可能只是避免在循环体中意外更改循环变量
  • 对象创建定义属性设置器

    我需要做到这一点 以便每次更改对象上的特定属性时 它都会调用同一对象上的特殊方法 Example MyObject prototype Object create specialMethod function someValue set f
  • 为什么“try”是一个明确的关键字?

    在我所知道的所有异常感知语言 C Java C Python Delphi Pascal PHP 中 捕获异常需要显式try块后跟catch块 我经常想知道其技术原因是什么 为什么我们不能直接追加catch普通代码块的子句 作为一个C 的例
  • 添加从 Unity for Android studio 导出的 2 个模块出现错误:“错误:程序类型已存在:bitter.jnibridge.JNIBridge”

    我在 Android Studio 中的 Kotlin 中有一个 android 项目 以及 2 个 Unity 模块 像使用 Unity 的 android studio 的项目一样导出 我想在我的项目中使用它们 但我收到错误 错误 程序
  • 最大非空列

    我需要使用基于两个 DATETIME 列的最大值的公式更新一行 我通常会这样做 GREATEST date one date two 但是 两列都允许为 NULL 即使另一个为 NULL 我也需要最大的日期 当然 当两者都为 NULL 时
  • JSON 文件中数据的所有可能组合

    我的目标是创建一部分代码 该部分代码将使用 JSON 文件中的数据生成所有可能的组合 而不会重复 具有相同元素的组合 无论其顺序是什么 我的 JSON 文件如下所示 COLLECTION Assault WEAPON SG 553 SKIN
  • 如何在 Hive 中将字符串转换为毫秒时间戳

    我有一个字符串 20141014123456789 它代表一个毫秒时间戳 我需要将其转换为 Hive 中的时间戳 0 13 0 而不丢失毫秒 我尝试了这个 但 unix timestamp 返回一个整数 所以我丢失了毫秒 from unix
  • jQuery Ajax 调用返回“[object XMLDocument]”

    我有一个 HTML 页面 我想使用 Ajax 填充该页面 我已经从其他页面复制了代码 这些都是 PHP 语言 我不确定这是否重要 并且它正在返回 object XMLDocument 在其他页面 PHP 页面 中 我得到了在例程中打印出来的
  • 使用 apriori 算法进行推荐

    So a 最近的问题 https stackoverflow com questions 1248373 apriori algorithm让我意识到相当酷先验算法 http en wikipedia org wiki Apriori al
  • 好吧,我们可以在 javascript 中拥有私有标识符,但是受保护的标识符又如何呢?

    就这么简单 我们能以某种方式模拟 Javascript 中的 受保护 可见性吗 Do this Note Do not break touch this object code 或者通过谷歌在第一页找到这个 http blog blanqu
  • RESTful API 设计:使用 PUT 或 POST 创建多对多关系?

    在设计和创建 RESTful API 时 会出现以下问题 该 API 支持 GET 用于查询 POST 用于创建 PUT 用于更新 和 DELETE 用于删除 假设数据库中有一个article and a shop两者都已经存在 现在我们需
  • 改造时出现 401 未经授权的错误?

    Error 401 unauthorized表示请求因凭据无效而被拒绝 我正在请求httpsURL 使用改造并获取401 unauthorized在做的时候curl https external email protected cdn cg
  • XML 反序列化失败

    我正在反序列化以下 XML 文件 使用 XML 序列化器与 VSTS 2008 C Net 3 5 这是 XML 文件