XPath adalah bahasa jalur XML, yang merupakan bahasa yang digunakan untuk menentukan bagian tertentu dari dokumen XML. XPATH didasarkan pada struktur pohon seperti XML, memberikan kemampuan untuk menemukan node di pohon struktur data. Pada awalnya, niat asli XPath adalah menggunakannya sebagai model sintaks umum antara Xpointer dan XSL. Tapi Xpath dengan cepat diadopsi oleh pengembang sebagai bahasa kueri kecil.
Xpathtest.java
Salinan kode adalah sebagai berikut:
paket com.hongyuan.test;
impor java.io.file;
impor java.io.ioException;
impor javax.xml.parsers.documentBuilder;
impor javax.xml.parsers.documentbuilderfactory;
impor javax.xml.parsers.parserconfigurationException;
impor javax.xml.xpath.xpath;
impor javax.xml.xpath.xpathconstants;
impor javax.xml.xpath.xpathexpressionException;
impor javax.xml.xpath.xpathfactory;
impor org.w3c.dom.document;
impor org.w3c.dom.node;
impor org.w3c.dom.nodelist;
impor org.xml.sax.saxException;
Kelas Publik XPathTest {
public static void main (string [] args) melempar parserconfigurationexception,
SaxException, IoException, XPathExpressionException {
// Parsen file dan buat objek dokumen
DocumentBuilder Builder = DocumentBuilderFactory.NewInstance ()
.NewDocumentBuilder ();
Dokumen dokumen = builder.parse (file baru ("bookstore.xml"));
// menghasilkan objek xpath
Xpath xpath = xpathfactory.newInstance (). Newxpath ();
// Dapatkan nilai simpul
String webtitle = (string) xpath.evaluate (
"/BookStore/Book [@Category = 'Web']/title/text ()", dokumen,
Xpathconstants.string);
System.out.println (WebTitle);
System.out.println ("============================================= =================== ================================== ==================================================== ==============================================
// Dapatkan nilai atribut simpul
String webtitlelang = (string) xpath.evaluate (
"/BookStore/Book [@Category = 'Web']/title/@lang", dokumen,
Xpathconstants.string);
System.out.println (WebTitLelang);
System.out.println ("============================================= =================== ================================== ==================================================== ==============================================
// Dapatkan objek node
Node bookWeb = (node) xpath.evaluate (
"/BookStore/Book [@Category = 'Web']", dokumen,
Xpathconstants.node);
System.out.println (bookweb.getnodename ());
System.out.println ("============================================= =================== ================================== ==================================================== ==============================================
// Dapatkan koleksi node
Buku Nodelist = (Nodelist) XPath.Evaluate ("/Bookstore/Book", dokumen,
Xpathconstants.nodeset);
untuk (int i = 0; i <books.getlength (); i ++) {
Node book = books.item (i);
System.out.println (xpath.evaluate ("@kategori", buku,
Xpathconstants.string));
}
System.out.println ("============================================= =================== ================================== ==================================================== ==============================================
}
}
Bookstore.xml
Salinan kode adalah sebagai berikut:
<? Xml Version = "1.0" encoding = "UTF-8"?>
<Bookstore>
<Kategori Buku = "Memasak">
<title lang = "en"> sehari -hari Italia </title>
<shoror> Giada de Laurentiis </shoror>
<eurh> 2005 </tahun>
<seraya> 30,00 </sewat>
</book>
<Kategori Buku = "Anak -anak">
<title lang = "en"> Harry Potter </title>
<shoritor> J K. Rowling </shoror>
<eurh> 2005 </tahun>
<seraya> 29,99 </setil>
</book>
<Book Category = "Web">
<title lang = "en"> belajar xml </iteme>
<shoror> Erik T. Ray </shoror>
<eurh> 2003 </year>
<seraya> 39,95 </setil>
</book>
</bookstore>
Efek berjalan