Existe um arquivo xml chamado servidores validado por um schema. Tudo funcionando perfeitamente, usando-se a ferramenta ALTOVA XML Spy.
Preciso trabalhar com esse arquivo em uma aplicação Java.
O trecho problematico do meu código é esse:
// depois de aprovados os dois parâmetros recebidos, é feito o parser do arquivo xml.
Document doc;
try {
File servidores = new File(ARQUIVO);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(servidores);
} catch (RuntimeException e1) {
throw new SAXException("Problemas no parser do arquivo SERVIDORES.XML");
}
// carrega o arquivo .XSD e faz a validação do arquivo XML contra ele
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new File(SCHEMA));
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
try {
validator.validate(new DOMSource(doc));
} catch (SAXException e) {
throw new SAXException ("O arquivo 'SERVIDORES.XML' é inválido! Favor alterá-lo ou o seu schema!");
}
Element root = doc.getDocumentElement();
NodeList nomes = root.getElementsByTagName("nome");
Estou usando o Eclipse. O que ocorre é que tudo parece funcionar normalmente, mas quando acompanho na janela de variáveis do Eclipse os valores de root e de nomes não vejo nada, tudo parece nulo. Esperava ver ali o elemento root do meu arquivo (que é o elemento SERVIDORES) e os seus filhos, que são três instâncias de servidores, com todos os seus dados.
Alguém poderia me ajudar?