【问题标题】:Validate XML against XSD generated class针对 XSD 生成的类验证 XML
【发布时间】:2011-10-15 23:57:48
【问题描述】:

是否可以根据 Serializable 类而不是 XSD 验证 XML?

我宁愿这样做,因为我的业务层有对类的引用,而如果我要验证 XSD,我必须创建一个 XmlSchemaSet 并传递一个引用。

如果不是验证 XML 的最佳解决方案是什么,请记住性能是一个问题,因为每次调用我正在编写的服务时都会发生这种情况?

【问题讨论】:

    标签: c# xml serialization xsd xml-serialization


    【解决方案1】:

    尝试将 xml 反序列化为您期望它代表的类。如果它正常工作,它是有效的。

    【讨论】:

    • 如果不是,它会引发异常。这是获取解析错误列表的唯一解决方案吗?好像有点粗糙
    • 是的,它实际上很粗糙,但没有其他想法。最好的办法是检查 xsd。
    • 经过反思,也许我可以使用 CanDeSerialize 方法,如果没有,我可以转而使用 XmlSchemaValidator 或其他方法来获取解析错误?
    • @Sheff 针对 XSD 进行验证无疑是最好的方法。
    • 是的,但有两个大(但独立的)问题。 1) 当 95% 的调用可能有效时,这对性能造成很大影响;2) 当类已经定义了模式时,它需要创建模式集并将其传递给业务层。
    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 2011-10-12
    • 2011-07-18
    相关资源
    最近更新 更多