【问题标题】:c# Incorrect XML to deserializec# 要反序列化的 XML 不正确
【发布时间】:2011-05-28 05:39:24
【问题描述】:

我有这个 XML,我需要反序列化,但类型不正确。

<Consumer>
  <Sex type="int">Man</Sex>
</Consumer>

我该如何解决?我喜欢允许 int 和 string。

提前谢谢,

【问题讨论】:

  • 请提供您的 XML 和代码
  • 如果 Consumer 是一个 C# 类——你是否将 Man 解析为一个枚举?如果不是,您可能无法将其解析为 int。
  • 是什么创建了这个 xml,因为它肯定没有使用 .NET 进行序列化,并且如果它存在代码问题。
  • 问题是xml不正确,但我不想抛出异常
  • 尝试..catch....?这将允许您处理异常。

标签: c# serialization xml-serialization xml-deserialization deserialization


【解决方案1】:

请执行以下操作。 将您的 XML 加载到 Visual Studio,单击“推断架构”按钮,然后运行“xsd.exe /c schema.xsd”以生成类。 xsd.exe 位于工具文件夹中。然后检查生成的代码并进行调整,例如在适当的地方将 short 更改为 int。

检查this link

【讨论】:

    【解决方案2】:

    您要完成此操作的唯一方法是手动解析 XML。

    所有常规工具都会对“人”绝不是整数这一事实感到厌烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多