Java JAXB使Objectfactory中的QName可访问

Java JAXB使Objectfactory中的QName可访问,java,jaxb,xjc,Java,Jaxb,Xjc,当您使用JAXB生成java类时,总会得到一个名为ObjectFactory的类。 在这个类中有一个私有属性QName,其中包含名称空间 是否可以告诉生成器从外部访问此属性。因此,也许可以将其公开或为其创建一个getter?我不知道如何使用JAXB参考实现附带的XJC工具来实现这一点。但是,XJC允许您创建自定义插件,以便您确实需要: 我相信只有当ObjectFactory需要创建JAXBElement实例的方法时,才会生成那些私有静态QName字段。如果调用其中一个方法来获取JAXBEle

当您使用JAXB生成java类时,总会得到一个名为ObjectFactory的类。 在这个类中有一个私有属性QName,其中包含名称空间


是否可以告诉生成器从外部访问此属性。因此,也许可以将其公开或为其创建一个getter?

我不知道如何使用JAXB参考实现附带的XJC工具来实现这一点。但是,XJC允许您创建自定义插件,以便您确实需要:


我相信只有当
ObjectFactory
需要创建
JAXBElement
实例的方法时,才会生成那些
私有静态QName
字段。如果调用其中一个方法来获取
JAXBElement
实例,则可以调用其
getName
方法来检索其关联的
QName

我可以通过将空值传递到createXXX()方法来创建这样的JAXBElement。对于这个创建的对象,我可以使用getName()方法。谢谢你的解决方案。我发现这也是最好的方法。此外,我通常扩展生成的ObjectFactory类,并添加公共final方法以返回QName。