Query XML with an XPath expression

This Example shows you how to Query Xml File via XPath expression.

Ads

Tutorials   

Query XML with an XPath expression

     

This Example shows you how to Query Xml File via XPath expression. JAXP (Java API for XML Processing) is an interface which provides parsing of xml documents. Here the Document BuilderFactory is used to create new DOM parsers.XPathFactory is being used to create Xpath objects. There are some of the methods used in code given below for Xml Query:-

DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance():-This method Creates a DocumentBuilderFactory .DocumentBuilderFactory is a Class that enables application to obtain parser for building DOM trees from XML Document

DocumentBuilder builder = Factory.newDocumentBuilder():-This method creates a DocumentBuilder object with the help of a DocumentBuilderFactory.

XPathFactory factory = XPathFactory.newInstance():-This method creates an XPathFactory. use of this class is to create XPath Objects.

XPathExpression expr = xpath.compile("//Employee[City='Haldwani']/name/text()"):-XPathExpression is an Interface which provide access to the compiled XPathExpression  i.e ("//Employee[City='Haldwani']/name/text()").

Object result = expr.evaluate(doc, XPathConstants.NODESET):-This method evaluates the compiled XPath expression and return the result as the specified type.

Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8"?>
<Company>
   <Employee Id="Rose-2345">
   <CompanyName>RoseIndia.net</CompanyName>
  <City>Haldwani</City>>
  <name>Girish Tewari</name>
  <Phoneno>1234567890</Phoneno>
  <Doj>May 2008</Doj>
  </Employee>
  <Employee Id="Rose-2346">
  <CompanyName>RoseIndia.net</CompanyName>
   <City>Lucknow</City>
   <name>Mahendra Singh</name>
  <Phoneno>123652314</Phoneno>
  <Doj>May 2008</Doj>
  </Employee>>
</Company>

XmlQuerywithXpath.java


/* 
 * @Program to query XML with an XPath expression. 
 * XmlQuerywithXpath.java 
 * Author:-RoseIndia Team
 * Date:-17-July-2008
 */
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.xpath.*;

public class XmlQuerywithXpath {

  public static void main(String[] args) throws Exception {
  
  DocumentBuilderFactory Factory = 
   DocumentBuilderFactory.newInstance();

  DocumentBuilder builder = Factory.newDocumentBuilder();
  Document doc = builder.parse("Document4.xml");

  //creating an XPathFactory:
  XPathFactory factory = XPathFactory.newInstance();
  //using this factory to create an XPath object: 
  XPath xpath = factory.newXPath();
  //XPath object created compiles the XPath expression: 
  XPathExpression expr = 
   xpath.compile(
"//Employee[City='Haldwani']/name/text()");

  //expression is evaluated with respect 
  //to a certain context node which is doc.

  Object result = expr.evaluate(doc, XPathConstants.NODESET);
  NodeList nodeList = (NodeList) result;
  for (int i = 0; i < nodeList.getLength(); i++) {
  System.out.println(
   "Name of the Employee Belonging to City Haldwani is:" 

   nodeList.item(i).getNodeValue());

  }
  }
}

Output of the program:-

Name of the Employee Belonging to City Haldwani is:Girish Tewari


Download Source Code

     

Ads