由于XML例子:如何通过XPath将XML映射到Java对象?
<fooRoot>
<bar>
<lol>LOLOLOLOL</lol>
</bar>
<noob>
<boon>
<thisIsIt></thisIsIt>
</boon>
</noob>
</fooRoot>
哪些应该被映射到:
class MyFoo {
String lol;
String thisIsIt;
Object somethingUnrelated;
}
约束:
- XML不应该改变,它提供了一个解析org.w3c .dom.Document对象。
- 类不会,也不会将1:1映射到XML。
- 我只想将XML的特定路径映射到对象的特定字段。
我的梦想的解决办法是这样的:
@XmlMapped
class MyFoo {
@XmlElement("/fooRoot/bar/lol")
String lol;
@XmlElement("/noob/boon/thisIsIt")
String thisIsIt;
@XmlIgnore
Object somethingUnrelated;
}
做任何事情也同样存在?我发现要么是严格的1:1映射(例如JMX,JAXB),要么在所有字段(例如SAX,Commons Digester)上进行手动迭代。
JiBX binding definitions最接近我所渴望的。然而,这个工具是对marshall/unmarshall Java对象的完整层次结构的解释。我只想在运行时将XML文档的一部分提取到现有的Java bean中。
好东西,谢谢! – sibidiba