簡體   English   中英

映射自定義對象所需的JAXB幫助

[英]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-pluginxjc目標構建過程中生成的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM