[英]JAXB Help needed for mapping Custom Objects
我有從某些服務器接收的XML。 我需要解組該XML到Java對象和將Java對象編組到xml。
我怎樣才能做到這一點?。
下面是我的XML格式。
<parent>
<child>
<order>
<row no="1">
<AB val="ID">205</AB>
<AB val="NAME">JS</AB>
<AB val="DETAILS">
<prod no="1">
<AB val="PRODID">205</AB>
<AB val="NAME">Prod1</AB>
</prod>
<prod no="2">
<AB val="PRODID">206</AB>
<AB val="NAME">Prod2</AB>
</prod>
</AB>
</row>
</order>
</child>
</parent>
您可以使用jaxb2-maven-plugin
與xjc
目標構建過程中生成的XML架構(XSD),Java類(可以通過任何在線發生器從XML生成XML模式,例如使用此 )。
您也可以只從控制台使用xjc
並預先生成類,它已內置在Java中(請參見<your jdk path>/bin/xjc.exe
)。
然后只需使用marshaller / unmarshaller進行工作,例如:
JAXBContext jaxbContext = JAXBContext.newInstance(YourClazz.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
YourClazz yourclazz = (YourClazz) jaxbUnmarshaller.unmarshall(new File("path/to/your/xml"));
順便說一句,我建議緩存JAXBContext
實例,使用Map<Class<?>, JAXBContext>
。 不要緩存marshaller / unmarshaller tho。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.