我试图使用JAXB
解析以下XML
。我删除了不相关的部分。不幸的是原始的XML
由第三方应用程序生成,我没有DTD
或XSD
文件可用,所以我正在手动构建我的JAXB
代码。jaxb中的两个不同但命名相同的元素
<add>
<add-attr attr-name="UserName">
<value type="string">User1</value>
</add-attr>
<add-attr attr-name="Name">
<value type="structured">
<component name="familyName">Doe</component>
<component name="givenName">John</component>
</value>
</add-attr>
</add>
问题当然是<value>
元素。这可以是纯文本元素,或者如果它的属性类型是“结构化,<component>
元素的列表。
我已经创建了两个类(值1和值2)实现了这个两个选项,但我不能告诉JAXB
这一个使用,因为元素都被命名为“价值”请问有什么解决
+1 - 您也可以使用SAX'XmlFilter'来添加'xsi:type'属性:http://blog.bdoughan.com/2012/11/applying-namespace-during-jaxb-unmarshal.html –