针对不断变化的XML模式进行编程

时间:2013-07-08 16:17:45

标签: xml reflection xsd schema

您有一个xml架构,您可以通过XML架构定义工具(xsd.exe)运行该架构以自动生成您的类。然后,您可以针对此进行编程,以将类/序列化填充到XML文档/根据原始XML模式进行验证......一切都很棒。

但是如果xml Schema每周都在变化会发生什么。每次发布新版本的模式时,我都不想继续进行并进行代码更改。处理这类问题有一般技术吗?

我曾考虑分析模式,并生成一个“映射类”,允许最终用户将模式中找到的新属性映射到数据库中的列。但是,随后创建一个循环遍历此方法的方法,并使用反射将数据映射到自动生成的类很难用于大型模式。

1 个答案:

答案 0 :(得分:0)

只有拥有稳定架构时,数据绑定才有效。如果架构经常变化,请使用其他技术,除非您想撕掉头发。诸如XSLT和XQuery之类的原生XML语言比Java和C#等编译语言更好地处理这种灵活性;如果必须使用Java,则使用树模型(如JDOM)而不是使用数据绑定到Java类。

您提到了一个数据库:同样,如果您想轻松处理更改,最好的方法是使用XML处理语言和XML数据库将数据保持在端到端的XML中。