Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Xml Query XML with an XPath expression

Related Tutorials


 
 

Share on Google+Share on Google+

Query XML with an XPath expression

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

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

     

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: August 24, 2008

Related Tutorials

Discuss: Query XML with an XPath expression  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
Pfaffl Bernhard
August 9, 2012
query / Ajax/ ect...

Hello, I am looking for a programmer who can create me a website, which both the iPhone (old / new) / iPad / Galaxy, ect ... course on Laptop / PC with Mozilla / IE / safari implementation found. task: I need two sliders on the home page, which wears a matrix (similar to Excel x / y - coordinates can be given a selection of products at a shop (like Gambio). Gambio store template, ect .. is not an issue that I can myself, but a home page, realized that what I'm overwhelmed. Also, I would look for someone else, which the bill Gambio own module Technically, to make layout changes. mfg Pfaffl Bernhard moonlight-working.de 0049172-9807032 _________________________________________ Hallo, ich bin auf der Suche nach einem Programmierer, der mir eine Webseite realisieren kann, welche sowohl auf Iphone (alt/neu)/Ipad/Samsung Galaxy, ect... natürlich auch auf Laptop/PC mit Mozilla/IE/Safarie die Umsetzung finden. Aufgabe: Ich benötige 2 Schieberegler auf der Startseite, welche anhat einer Matrix (ähnlich wie Excel x/y - koordinaten eine Produktauswahl übergeben kann zu einem Webshop (am liebsten Gambio). Gambio-Shop Template ect.. ist kein Thema, das kann ich selber, aber eine Startseite, welche dieses Realisiert da bin ich überfordert. Außerdem würde ich noch jemanden suchen, welcher das Gambio hauseigene Rechnungsmodul Layouttechnisch änderungen vornehmen kann. mfg Pfaffl Bernhard moonlight-working.de 0172-9807032
DMCA.com