XPath - это язык пути XML, который является языком, используемым для определения определенной части документа XML. XPath основан на XML-подобной структуре деревьев, обеспечивая возможность найти узлы в дереве структуры данных. Сначала первоначальным намерением XPath было использовать его в качестве общей синтаксисной модели между Xpointer и XSL. Но XPath был быстро принят разработчиками как небольшой язык запросов.
Xpathtest.java
Кода -копия выглядит следующим образом:
пакет com.hongyuan.test;
Импорт java.io.file;
импортировать java.io.ioexception;
Импорт javax.xml.parsers.documentbuilder;
Импорт javax.xml.parsers.documentbuilderfactory;
Импорт javax.xml.parsers.parserconfigurationexception;
Импорт javax.xml.xpath.xpath;
Импорт javax.xml.xpath.xpathconstants;
Импорт javax.xml.xpath.xpathexpressionException;
Импорт javax.xml.xpath.xpathfactory;
Импорт org.w3c.dom.document;
Импорт org.w3c.dom.node;
Импорт org.w3c.dom.nodelist;
Импорт org.xml.sax.saxException;
открытый класс xpathtest {
Public Static void Main (String [] args) бросает parserconfigurationexception,
Saxexception, ioException, xPathExpressionException {
// Проанализируйте файл и генерируйте объект документа
DocumentBuilder Builder = DocumentBuilderFactory.newinStance ()
.newdocumentbuilder ();
Document Document = builder.parse (новый файл ("bookstore.xml"));
// генерировать объект xPath
Xpath xpath = xpathfactory.newinstance (). Newxpath ();
// Получить значение узла
String webtitle = (string) xpath.evaluate (
"/Bookstore/Book [@Category = 'web']/title/text ()", документ,
Xpathconstants.string);
System.out.println (WebTitle);
System.out.println ("======================================================================= ================= ============================================================= ============================================================================= ======================================================================
// Получить значение атрибута узла
String webtitlelang = (string) xpath.evaluate (
"/Bookstore/Book [@Category = 'web']/title/@lang", документ,
Xpathconstants.string);
System.out.println (webtitlelang);
System.out.println ("======================================================================= ================= ============================================================= ============================================================================= ======================================================================
// Получить объект узла
Узел BookWeb = (узел) xpath.evaluate (
"/Bookstore/Book [@Category = 'web']", документ,
Xpathconstants.node);
System.out.println (bookweb.getNodeName ());
System.out.println ("======================================================================= ================= ============================================================= ============================================================================= ======================================================================
// Получить коллекцию узлов
Nodelist Books = (Nodelist) xpath.evaluate ("/Bookstore/Book", Document,
Xpathconstants.nodeset);
for (int i = 0; i <books.getlength (); i ++) {
Node book = books.item (i);
System.out.println (xpath.evaluate ("@Category", Book,
Xpathconstants.string));
}
System.out.println ("======================================================================= ================= ============================================================= ============================================================================= ======================================================================
}
}
Книжный магазин.xml
Кода -копия выглядит следующим образом:
<? xml version = "1.0" Encoding = "UTF-8"?>
<Книжный магазин>
<книга категория = "кулинария">
<title lang = "en"> каждый день итальянский </title>
<ator> giada de laurentiis </author>
<Год> 2005 </Год>
<цена> 30,00 </цена>
</book>
<книга категория = "Дети">
<title lang = "en"> Гарри Поттер </title>
<ator> J K. Rowling </Author>
<Год> 2005 </Год>
<цена> 29,99 </цена>
</book>
<книга категория = "web">
<title lang = "en"> обучение XML </title>
<ator> Эрик Т. Рэй </Автор>
<Год> 2003 </Год>
<цена> 39,95 </цена>
</book>
</bookstore>
Эффект бега