【发布时间】:2013-07-19 21:23:41
【问题描述】:
谁能解释一下 JAXB 中 UnMarshaller 和 Parser 之间的区别。我读过 UnMarshaller 用于从 XML 文档中检索值。 Parser 也做同样的事情。任何人都请解释一下区别。
例如:考虑以下示例 zoo.xml
<zoo>
<zooName>Vandalur Zoo</zooName>
<zooId>12321</zooId>
<animals>
<animal>
<animalName>Lion</animalName>
<animalType>Wild</animalType>
</animal>
使用 UnMarshaller,
JAXBContext jaxbContext = JAXBContext
.newInstance("com.javapapers.xml.jaxb");
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
JAXBElement<?> zoo = (JAXBElement<?>) unmarshaller
.unmarshal(new FileInputStream("zoo.xml"));
ZooInfo zooInfo = (ZooInfo) zoo.getValue();
使用解析器:
File fXmlFile = new File("zoo.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
【问题讨论】:
标签: xml xml-parsing jaxb unmarshalling domparser