import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class Main {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
docFactory.setNamespaceAware(true);
DocumentBuilder builder = docFactory.newDocumentBuilder();
Document doc = builder.parse("data.xml");
XPathExpression expr = XPathFactory.newInstance().newXPath().compile("/script/data");
Object hits = expr.evaluate(doc, XPathConstants.NODESET);
if (hits instanceof NodeList) {
NodeList list = (NodeList) hits;
for (int i = 0; i < list.getLength(); i++) {
System.out.println(list.item(i).getTextContent());
}
}
}
}
Here is the content of data.xml
<script>
<hide>
<data>1</data> <!-- Ingore THIS-->
</hide>
<data>Find this</data><!-- FIND THIS-->
<data>More of this</data><!-- FIND THIS-->
</script>
It yields
Find this
More of this