pacs.003 ISO20022 형식의 XML 파일을 구문 분석하려고합니다. 이에 대한 XSD가 있으며 XMLBeans를 사용하면 필요한 Java 클래스를 만들 수 있습니다. 내가 겪고있는 문제는 XML에서 요소를 읽고 계속 얻을 수 없다는 것입니다. NullPointerException. 비슷한 문제를 찾았지만 대부분 OP가 다른 기술로 옮겨갔습니다.Apache XmlBeans NullPointerException
내가 LON_20160208.xml에서 가지고있는 XML 조각은 다음과 같습니다
<S2SDDDnf:FIToFICstmrDrctDbt xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02">
<GrpHdr>
<MsgId>DDA160802AASW006543</MsgId>
</GrpHdr>
</S2SDDDnf:FIToFICstmrDrctDbt>
내 코드는 다음과 같습니다
public static void main(String[] args) {
XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setUseDefaultNamespace();
xmlOptions.setSavePrettyPrint();
Document doc;
try {
doc = Document.Factory.parse(new File("data_samples/LON_20160208.xml"));
String messageId = doc.getFIToFICstmrDrctDbt().getGrpHdr().getMsgId();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
다음은 NullPointerException이 결과 위의 doc.getFIToFICstmrDrctDbt()
및이에 대한 중 하나를 가리 키도록 보인다 XMLBeans 클래스 내의 get_store()
메소드 또는 네임 스페이스 문제.
대체 네임 스페이스 맵을 사용하려고 시도했으며 setUseDefaultNamespace()
메서드를 설정 및 해제 전환했습니다 (현재 위에서 주석으로 처리되지 않았습니다). 또한 을 xsd:schema
요소에 추가하는 것에 대한 대답을 읽었지만 이미 완료되었습니다. 이 중 어느 것도 문제를 해결하지 못하고 아이디어가 부족합니다.
도움을 주시면 감사하겠습니다.
'data_samples/LON_20160208.xml '에 연결할 수 있습니까? – Sanjeev
그래도 XML을 잘 읽을 수 있고 doc 변수가 null이 아닙니다. –
doc 요소에서'S2SDDDnf :'를 제거한 다음 읽으십시오. 읽을 수있는 경우 생성 된 클래스에 문제가있을 수 있습니다. – Sanjeev