我从一些我希望能够从 XML 解组的 Java 类开始——我正在确定模式。我想使用类似于以下的 XML:
<Person fname="John" lname="Doe">
<bio><foo xmlns="http://proprietary.foo">Blah <bar>blah</bar> blah</foo></bio>
</Person>
我希望注释我的 Java 类,类似于以下内容:
public class Person {
@XmlAttribute
public String fname;
@XmlAttribute
public String lname;
@XmlElement
public ProprietaryFoo bio;
}
我想将 <foo xmlns="http://proprietary.foo"> 元素及其后代传递给已编译的工厂类,其工作方式如下:
FooFactory.getFooFromDomNode(myFooElement) // Returns a private ProprietaryFooImpl as an instance of the public ProprietaryFoo Interface
似乎我需要为 ProprietaryFoo 创建一个 DomHandler 但我不太明白(我得到的是“com.xyz.ProprietaryFooImpl 或其任何超类在这种情况下都是已知的。”)我也是对 XmlJavaTypeAdapter 感兴趣我不知道如何将 ValueType 作为元素接收。