gpt4 book ai didi

java - xjc 仅适用于架构的一部分

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:01 25 4
gpt4 key购买 nike

我们计划使用 JAXB 将 xml 映射到对象。我们的要求是,我们将只处理文档的一部分(稍大),因此我们只想将该部分(片段)转换为对象。因此,我们不想为 xsd 中的所有元素创建类。

如何让 xjc 在生成类时忽略某些元素或考虑特定元素?

根据我所读到的内容,我们可以使用绑定(bind)文件来自定义 xjc 的行为,但是我们可以在架构中放入什么来忽略元素。

最佳答案

您可以使用外部绑定(bind)文件将 XJC 配置为使用现有类而不是生成类。您可以通过指向不存在的类来利用这一点,让 JAXB 排除部分 XML 模式。在下面的示例中,不存在的类 com.example.Fake 将用于名为 Foo 的复杂类型。

绑定(bind).xml

<jxb:bindings schemaLocation="yourSchema.xsd">
<jxb:bindings node="//xs:complexType[@name='Foo']">
<jxb:class ref="com.example.Fake"/>
</jxb:bindings>
</jxb:bindings>

XJC 通话

xjc  -d outputDir -b binding.xml yourSchema.xsd

关于java - xjc 仅适用于架构的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44011168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com