I'm trying to create a new method to find elements into a XML, I'd like to create dinamic queries in a xml, I didn't find examples using xpath,
It's possible to use xpath with stax? If not, is there an easy way to create queries to find elements with stax?
public static void main(String[] args) throws Exception {
XMLInputFactory factory = XMLInputFactory.newInstance();
Reader fileReader = new StringReader(ExempleXml.xml);
XMLStreamReader reader = factory.createXMLStreamReader(fileReader);
while (reader.hasNext()) {
process(reader);
reader.next();
}
}
private static void process(XMLStreamReader reader) {
int eventType = reader.getEventType();
switch (eventType) {
case XMLStreamConstants.START_ELEMENT:
System.out.println("Start element: " + reader.getLocalName());
int count = reader.getAttributeCount();
for (int i = 0; i < count; i++) {
String name = reader.getAttributeLocalName(i);
String value = reader.getAttributeValue(i);
System.out.println("\tAttribute name/value: " + name + "/" + value);
}
break;
case XMLStreamConstants.END_ELEMENT:
System.out.println("End element: " + reader.getLocalName());
break;
case XMLStreamConstants.CHARACTERS:
System.out.println("Text: " + reader.getText());
break;
default:
break;
}
}