![](/img/trans.png)
[英]How many XML tree(parent children) can create in Java Marshalling and Unmarshalling
[英]Read the XML tree(Root, parents and Children) using JAXB2 in JAVA and create marshalling and unmarshalling
我需要创建一个与Java类似的树(根,父级和子级)结构。 抱歉,我是新来的,无法附加图片。 我发现了与此问题有关的一些问题,但没有找到令人信服且解释清楚的答复。 应用程序业务包括食品超级类别(主菜,甜点和其他)。 这些类别中的每个类别都可以具有父项或子项,依此类推。
我需要使用JAXB2编组和解组Java中的xml树结构
我的xml看起来像
<Hierarchy name="" desc="" title="" tablename="">
<Columns>
<column name="" desc="" group="" id=""/>
</Columns>
<Nodes>
<Node name=" " desc="" id="">
<Node name="" desc="" id="" />
</Node> <Node name=" " desc="" id="" />
</Nodes>
<Rules>
<Rule name="" node="" measure="" product="" dataset="" datatype="" />
</Rules>
</Hierarchy>
基本上,您需要先将XML转换为Java对象,然后再封送和取消封送结果。 如果这是您的XML文件:
<Hierarchy name="" desc="" title="" tablename="">
<Columns>
<column name="" desc="" group="" id=""/>
</Columns>
<Nodes>
<Node name=" " desc="" id="">
<Node name="" desc="" id="" />
</Node>
<Node name=" " desc="" id="" />
</Nodes>
<Rules>
<Rule name="" node="" measure="" product="" dataset="" datatype="" />
</Rules>
</Hierarchy>
您可以执行以下操作:
package org.arpit.javapostsforlearning.jaxb;
import java.io.File;
import java.util.ArrayList;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class JAXBXMLToJava {
public static void main(String[] args) {
try {
// create JAXB context and initializing Marshaller
// you need to make the class of food before
JAXBContext jaxbContext = JAXBContext.newInstance(Food.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
// specify the location and name of xml file to be read
File XMLfile = new File('MyXml.xml');
// this will create Java object - Food from the XML file
Food desserts = (Food) jaxbUnmarshaller.unmarshal(XMLfile);
System.out.println('Food Name: '+ desserts.getName());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
看看这里完整的例子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.