DOM을 사용하여 XML 파일을 구문 분석하려고합니다. 하지만 XML 파일에서 볼 수 있듯이 노드에서 NULL 값을 얻고 있습니다. 모든 값이 있습니다 ... 잠시 동안 노력했지만이 문제에 대한 해결책을 찾을 수 없습니다. 나는 자바 프로그래밍에 아주 초보자, 그래서 아마 초보자 오류입니다,하지만 난 XML DOM 구문 분석, 모든 getNodeValue()에 NULL 가져 오기
이
내가 구문 분석있어 XML입니다 ... 지금 매우 좌절 점점 해요 : 나는 '<root>
<seguro>
<seg_tipo>cocacola</seg_tipo>
<seg_subtipo>cocacola</seg_subtipo>
<seg_title>cocacola</seg_title>
<seg_descr>cocacola</seg_descr>
<seg_carac_title>cocacola</seg_carac_title>
<seg_carac>cocacola</seg_carac>
</seguro>
<seguro>
<seg_tipo>fantanaranja</seg_tipo>
<seg_subtipo>fantanaranja</seg_subtipo>
<seg_title>fantanaranja</seg_title>
<seg_descr>fantanaranja</seg_descr>
<seg_carac_title>fantanaranja</seg_carac_title>
<seg_carac>fantanaranja</seg_carac>
</seguro>
</root>
일부에서 System.out.println을 설정했습니다() 나에게 노드 값의 이름을 말해, 이것은 내가 무엇을 얻을 수 있습니다 :
seg_tipo -- null
seg_subtipo -- null
seg_title -- null
seg_descr -- null
seg_carac_title -- null
seg_carac -- null
/n-------------------------------------/n
seg_tipo -- null
seg_subtipo -- null
seg_title -- null
seg_descr -- null
seg_carac_title -- null
seg_carac -- null
/n-------------------------------------/n
나는 그것이 작동하지 수는 ...이 코드입니다 XML을 구문 분석합니다. XML :
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File fileXML = new File("seguros.xml");
Document document = builder.parse(fileXML);
Element root = document.getDocumentElement();
NodeList items = root.getElementsByTagName("seguro");
// System.out.println(items.getLength());
// System.out.println(items.item(1).getNodeName());
for (int i = 0; i < items.getLength(); i++) {
Seguro seguroActual = new Seguro();
Node item = items.item(i);
NodeList datosSeguro = item.getChildNodes();
for (int j = 0; j < datosSeguro.getLength(); j++) {
// System.out.println(datosSeguro.getLength());
Node dato = datosSeguro.item(j);
String etiqueta = dato.getNodeName();
System.out.println(dato.getNodeName()+" -- "+dato.getNodeValue());
if (etiqueta.equals("seg_tipo")) {
seguroActual.setSeg_tipo(dato.getNodeValue());
// System.out.println("El tipo del seguro es: " + dato.getNodeValue());
} else if (etiqueta.equals("seg_subtipo")) {
seguroActual.setSeg_subtipo(dato.getNodeValue());
// System.out.println("El subtipo del seguro es: " + seguroActual.getSeg_subtipo());
}
}
System.out.println("/n-------------------------------------/n");
AlmacenSeguros.getInstance().guardarSeguro(seguroActual);
}
아마도 이것은 매우 간단한 문제이지만 답변을 찾을 수 없습니다 ... ... ( 미리 감사드립니다!