최근에 xjc
도구를 사용하여 XSD 기반의 일련의 객체를 만들었습니다.JAXB가 XML에서 개별 요소를 검색합니다.
<foos>
</foos>
<foo>
</foo>
<foo_detail_1>
</foo_detail_1>
<foo_detail_2>
</foo_detail_2>
적합하지 않습니다 : 내가 가진 문제는 내가 지금과 같은 소스에서 XML을받을 수있다. 내 질문은 XML을 언 마샬링 (unmarshall)하려고 할 때 어떻게하면 개별 객체를 만들 수 있습니까? 즉과 같이이다 :
Foo foo = (Foo)um.unmarshal("myXML.xml");
Foo_Detail_1 fd = (Foo_Detail_1)um.unmarshal("myXML.xml");
또는 XPath는 이러한 특성을 채우는 등이 접근하는 올바른 방법은 무엇 인 경우에 사용이 많은 운동이다?
전체 문서를 여러 번 통과하지 않아도되도록 단일 패스로 처리하는 것이 좋습니다. FWIW 전체 파일이 메모리에 저장됩니다. – Woot4Moo
@ Woot4Moo - StAX 파서는 문서를 한 번만 탐색합니다. 또는 모든 개별 개체를 포함하는 루트 개체를 만들 수 있습니다. –
그래서 래퍼 노드를 만들면'Wrapper w = (Wrapper) unmarshall (myXml.xml)'을 수행하고 객체 모음을 가지고 재생할 수 있습니까? – Woot4Moo