![]() |
1
4
我面临着一个类似的问题,我找到的最佳解决方案是编写自己的XJC插件。XJC插件可以访问XML模式和生成的类,因此它似乎是获取限制信息的最简单方法。我的插件向生成的类中的任何字段添加了注释,这些字段在架构中对其应用了限制。例如,一个元素
将表现为
在生成的类文件中。然后,可以使用反射从字段中提取限制信息。 创建插件的文档不是很好,但我发现了 article 有用的。看看源代码 Default Value Plugin 了解如何深入到XJC在内存中表示的XML模式和生成的类结构。这个 JAXB , XSOM 和 CodeModel API也会有所帮助。 |
![]() |
2
1
看起来XSD包含语义“指南”,而不是清晰的规则。imho如果同意XSD,不遵守它会导致违反。 如果不是这样的话,并且XSD包含一些需要解释的指导原则,我会花时间理解XSD解析API,并尝试以这种方式解决问题。在这里再发明轮子没用。 但是,我会质疑所采用的方法,并尝试在XSD内部就清晰的规则达成一致。 |
|
Alan Silva · 如何反序列化XML列表? 7 年前 |
![]() |
yogsma · 从XSD模式生成Java类 7 年前 |
![]() |
jsosnowski · JAXB、XJC:生成字段到类大纲 7 年前 |
![]() |
akash prasad · 当我尝试POST请求时得到400响应 7 年前 |
![]() |
Ayo K · 将Soap XML响应转换为对象 7 年前 |