Skip to content

Instantly share code, notes, and snippets.

@truelecter
Created June 10, 2017 09:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save truelecter/c60eeec74109ea1a8f4fd413b7876bbc to your computer and use it in GitHub Desktop.
Save truelecter/c60eeec74109ea1a8f4fd413b7876bbc to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<asd>asdasd</asd>
<asd2>a</asd2>
</configuration>
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import java.io.IOException;
public class Main_XPath {
public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException, XPathExpressionException, TransformerConfigurationException {
String filename = "data.xml";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(filename);
Element rootElement = document.getDocumentElement();
rootElement.normalize();
XPathFactory xPathFactory = XPathFactory.newInstance();
XPath xPath = xPathFactory.newXPath();
String XPathString = "/configuration/*";
// rootElement.getElementsByTagName("configuration").item(0).getChildNodes()
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setParameter("a","a");
NodeList titles = (NodeList) xPath.evaluate(XPathString, document, XPathConstants.NODESET);
for (int i = 0; i < titles.getLength(); i++) {
Node n = titles.item(i);
System.out.println(n.getNodeName() + " = " + n.getTextContent());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment