foi mal cara… deixa eu postar a classe inteira ok???
Desculpa a desatenção… mas postei com pressa o último…
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
public class LeitorXml
{
private Document doc;
private DocumentBuilder parser;
private XPath xpath;
public LeitorXml (String caminhoArquivoXML) throws Exception
{
parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
//doc = parser.parse(new File("C:/Ataves-local/EcWkspace/XmlExtract/Arquivo.xml"));
doc = parser.parse(new File(caminhoArquivoXML));
xpath = XPathFactory.newInstance().newXPath();
}
public String RetornaStringPorCaminho (String caminhoNodo) throws Exception
{
return (String) xpath.evaluate(caminhoNodo, doc, XPathConstants.STRING);
}
}
Beleza… tá aí a classe onde o parser é insanciado pelo caminho do arquivo que se deseja ler…
Bom, sobre o xpath, ele aceita expressões de caminho…
Deixa eu fazer umas alteraçõezinhas em seu XML, ficando assim
<raiz>
<nó value="xxxxx"></nó>
<outro no> Valor qualquer </outro no>
<raiz>
Beleza, com essa classe que postei e o método RetornaStringporCaminho você consegue percorrer o XML e retornar os dados desejados.
Passando como parâmetro para o método RetornaStringPorCaminho, a seguinte String : “/raiz/nó/@value”, o retorno será “xxxxx”
Se você passar “/raiz/outro no”, o retorno será “Valor qualquer”.
Entendeu? Acho que me atrapalhei pra explicar né?
www.w3schools.com tem detalhes completos da sintaxe do Xpath…
Tomara que te ajude… precisando… posta aí…