Consulta XPath

0 respostas
Allan_Barcelos

Olá, estou com uma duvida em uma consulta XPath, segue abaixo o meu código:

XPath xpath = XPathFactory.newInstance().newXPath();  
        String path = "//xml//corpus//build//s//graph//nonterminals//nt";
        XPathExpression expr = xpath.compile(path);  // Caminho para os warnings  
        System.out.println("Query1: "+path);
        Object result = expr.evaluate(document, XPathConstants.NODESET);  
        NodeList nodes = (NodeList) result;  
        System.out.println("Número de nodos1: "+nodes.getLength());
        for (int i = 0; i < nodes.getLength(); i++) {  
        	System.out.println(nodes.item(i).getAttributes().getNamedItem("id").getNodeValue());
        }

E os elementos que eu gostaria que deveria retornar:

xml>
<corpus>
<body>
<nonterminals>
<graph>
<s>
<nt id="s9_509" cat="fcl"></nt>

<nt id="s9_501" cat="pp">
				<edge label="H" idref="s9_1"/>
				<edge label="DP" idref="s9_502"/>
				<edge label="STA" idref="s9_509"/>
				<edge label="P" idref="s9_19"/>
				<edge label="S" idref="s9_510"/>
				<edge label="PU" idref="s9_25"/>
			</nt>
</nonterminals>
</graph>
</s>
</body>
</corpus>
</xml>

A consulta que eu fiz esta correta?

Existe outra maneira para fazer a mesma coisa?
Como faço para excluir os Node achados?

Criado 11 de dezembro de 2012
Respostas 0
Participantes 1