1
저는 JAXB와 XML을 처음 접했습니다.비누에서 XML 노드 추출하기
은 내가 MYNODE에 대한 XSD 파일이 그것에 JAXB 달렸다
<?xml...?>
<ns2:Envelope xmlns:ns2="http://www.w3.org/2003/05/soap-envelope"
xmlns="http://alpha..."
xmlns:ns3="http://gama...">
<ns2:Body>
<ns3:Mynode>
...
</ns3:Mynode>
</ns2:Body>
같은 XML을 가지고, 그래서 클래스 Mynode.java 있습니다.
가 나는 XML 문자열을 받고, 나는이 같은 구문 분석 :
DocumentBuilderFactory docFac = DocumentBuilderFactory.newInstance();
Document doc = docFac.newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
NodeList ns3mynode = doc.getElementsByTagName("ns3:Mynode");
JAXBContext jaxbContext = JAXBContext.newInstance(Mynode.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
return unmarshaller.unmarshal(node.item(0));
하지만 자바는 그가 네임 스페이스 NS3 ...도 많이하게 기대하지 않는 것을 말하고, 예외가 발생합니다 의미의.
네임 스페이스를 존중하여 XML에서 ns3 : Mynode를 추출하는 가장 좋은 방법은 무엇입니까?
감사합니다.
Blaise, 정말 고마워. 그것은 효과가 있었다. 나는 너의 블로그를 볼 것이다. 다시 한 번 감사드립니다. –