【问题标题】:If you use XML Serialization how do you validate data?如果您使用 XML 序列化,您如何验证数据?
【发布时间】:2010-05-02 22:59:54
【问题描述】:

我打算尝试在 C# 中使用 XML 序列化,但我想知道是否获得 .xml 文件,如何检查 xml 文件是否确认为正确的类型?

像通常一样,您会创建一个可以验证的架构,以确保它是否确认为正确的格式。

您可以将架构与 XML 序列化挂钩还是自动执行此检查?

谢谢

【问题讨论】:

    标签: c# .net xml-serialization


    【解决方案1】:

    你告诉反序列化器你期望什么类型。如果 xml 不是预期类型的​​序列化格式,反序列化将失败。

    http://msdn.microsoft.com/en-us/library/dsh84875.aspx

    试试这个: http://www.codeproject.com/KB/XML/Serialization.aspx

    【讨论】:

    • 在实践中,我总是在反序列化之前使用 XSD 验证 XML。这会在尝试反序列化之前捕获诸如必填字段、范围错误和格式错误的 XML 等内容。
    • 我们是将一个类型(比如Employee类)序列化为xml并序列化它还是我们指的是使用xsd验证xml文件的过程?在前一种情况下,不涉及 xsd。
    • 我说的是xsd。就像我使用规则创建了我的模式一样,这些规则说这个和那个是必需的。然后我手动创建了我的序列化类,我刚刚从我的 xml 文件中删除了一个标签,它仍然可以很好地进行反序列化。
    • 是的,我做到了。我不喜欢它是如何生成这些东西的,所以我是手工完成的,但即使查看有问题的元素(在生成的文件中),他们也会在上面放任何东西来制作它,这样它只能出现一次并且有出现一次。在我的架构中,我设置了该元素 minOccurs="1" maxOccurs="1"。
    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2019-06-03
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2022-06-11
    • 2022-10-05
    相关资源
    最近更新 更多