다음과 같은 모든 종류의 세부 정보를 포함하는 수천 개의 노드가 포함 된 매우 큰 XML 파일이 있다고 가정 해 보겠습니다.
<Document>
<Header>
</Header>
<Whatever>
<Person>
<Name>John Doe</Name>
<Age>30</Age>
</Person>
<Person>
<Name>Jane Doe</Name>
<Age>30</Age>
</Person>
...
</Whatever>
</Document>
xml 파일을 스트리밍하고 싶은데, Person 노드에 도달 할 때마다 Person pojo가 주어져야합니다. StAX를 사용하면 수동으로 pojo를 생성하여이를 수행 할 수 있지만 저를 위해 그렇게하는 라이브러리가있을 것입니다.
다음과 같이 클래스를 정의하십시오.
@XmlRootElement
public class Person {
@XmlElement(name = "Name")
String name;
@XmlElement(name = "Age")
int age;
}
@XmlRootElement
public class Header {
}
@XmlRootElement
public class Document {
@XmlElement(name = "Header")
Header header;
@XmlElementWrapper(name = "Whatever")
@XmlElement(name = "person")
List<Person> people;
}
객체에 xml을 언 마샬링하기 위해 JAXB를 사용한 후.
JAXBContext jaxbContext = JAXBContext.newInstance(Document.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Document document = (Document) jaxbUnmarshaller.unmarshal(file);
List<Person> people = document.getPeople();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다