Query XML with an XPath expression

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

Ads

Tutorials   
JAXB Create XML File And Get Data From XML XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials The Simple API for XML (SAX) APIs Part I XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials XML Tutorial Ignoring Comments While Parsing an XML File Accessing XML file from Java Preventing Expansion of Entity References Getting next Tag in the XML File Replacing a Node with a New One Reading XML Data from a Stream Reading an XML document using JDOM Query XML with an XPath expression Normalize All of the Text in a Document Modifying Text by Replacement Insert a Processing Instruction and a Comment Node Getting text values from a NodeList Finding an ID Value and Print the Element Text Edit Text by Insertion and Replacement Duplicating a Subtree Deleting Two Attributes Delete the First Child of the Root Node Creating XML Tree Creating a DocumentFragment Subtree and Appending it to the Document Creates element node, attribute node, comment node, processing instruction and a CDATA section Creates a New DOM Parse Tree Replacing a Text Node with a New CDATA Section Node Create an Empty DOM Document Adding an Attribute in DOM Document Transforming XML with XSLT Transforming an XML File with XSL Transforming XML with SAXFilters Storing properties in XML file Testing EntityReferences in Xml Splitting One Text Node into Three Reading XML from a File Modifying Text by Cutting and Pasting Locating a Node by Using Siblings Locate a Node and Change Its Content Loading properties from a XML file Listing nodes used in a document Inserting a New Entry in a List Creating an InlineStreamFilter Ignoring Comments While Parsing an XML File Handling Errors While Parsing an XML File Emitting DOCTYPE Declaration while writing XML File Converting CDATA Nodes into Text Nodes Java DOM Tutorial Creating Blank DOM Document
Ads

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

     

Advertisements

Ads
Share on Google+Share on Google+

Query XML with an XPath expression

Posted on: August 24, 2008 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

 

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

Ads

 

Ads