Olá, gostaria de saber se alguém já se encontrou nessa situação:
Tenho um arquivo de texto gigantesco, ele possui vários pedaços de xml editados de um XSL. Estou usando o DOM parser para pegar os valores e os nós. Se eu quebro o xml em uma parte única funciona blz, porém se eu adiciono mais partes a ele como no arquivo original, dá erro no parser. Segue o XML:
<?xml version="1.0" encoding="UTF-8"?>
<update model="ElementModel">
<uniqueMatchCriteria>
<IdTerminal> 7A804 </IdTerminal>
</uniqueMatchCriteria>
<fields>
<Latitude> 021_41_19_8_S </Latitude>
<Longitude> 047_36_01_7_W </Longitude>
<Atualizacao> 09/11/2012 14:12:36 </Atualizacao>
</fields>
<relations>
<relation model="StageModel">
<uniqueMatchCriteria>
<Localizacao> 1,20 km a SSE de POSTO VASSUNUNGA </Localizacao>
</uniqueMatchCriteria>
</relation>
</relations>
</update>
<?xml version="1.0" encoding="UTF-8"?>
<update model="ElementModel">
<uniqueMatchCriteria>
<IdTerminal> CDA36 </IdTerminal>
</uniqueMatchCriteria>
<fields>
<Latitude> 023_00_32_3_S </Latitude>
<Longitude> 047_08_37_8_W </Longitude>
<Atualizacao> 09/11/2012 14:12:23 </Atualizacao>
</fields>
<relations>
<relation model="StageModel">
<uniqueMatchCriteria>
<Localizacao> 0,13 km a S de EXP - VCP </Localizacao>
</uniqueMatchCriteria>
</relation>
</relations>
</update>
Estou fazendo o seguinte para leitura do XML:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document document = builder.parse( new InputSource( new StringReader( xml ) ) );
Element root = (Element) document.getDocumentElement();
System.out.println();
System.out.println("<"+root.getTagName()+" model="+root.getAttribute("model")+">");
NodeList lista = root.getChildNodes();
for(int i=0 ;i < lista.getLength(); i++){
Node item = lista.item(i);
System.out.print(item.getNodeName() + " "+item.getChildNodes().getLength());
System.out.print(" | ");
NodeList listaChild = item.getChildNodes();
for(int j=0 ; j < listaChild.getLength(); j++){
Node child = listaChild.item(j);
System.out.print(" "+child.getNodeName() +"("+child.getTextContent() +")");
}
System.out.println();
}
Alguém já teve um problema desse?
Obrigado