UnMarshaller と JAXB のパーサーの違いを説明してください。UnMarshaller を使用して XML ドキュメントから値を取得するように読みました。パーサーも同じことをします。どなたか違いを説明してください。
例: 以下の例の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);