xml文檔
<?xml version="1.0" encoding="utf-8"?> <書架> <書> <書名 name="ww">一本爛書!!</書名> <作者>武陟縣</作者> <價格>200元</價格> </書> <書> <書名 name="xxxxxxxxxxx">Java中級</書名> <作者>打火機</作者> <價格>2000元</價格> </書> </書架>
Java代碼
package Dom4j_XMLParser; import java.io.File; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.junit.Test; public class Demo3 { /** * 測試path *@throws Exception */ @Test public void xpathTest() throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/book.xml")); // 獲取所有節點 List<Node> selectNodes = document.selectNodes( "//*" ); for(Node node :selectNodes){ System.out.println(node.asXML()); } // 取第一個書節點 Element node = (Element) document.selectSingleNode( "//書名" ); System.out.println(node.asXML()); //<書名 name="ww">一本爛書!!</書名> System.out.println(node.attributeValue("name")); System.out.println(node.getText()); // 取第二個書的書名 Node node1 = document.selectSingleNode( "/書架/書[last()]/書名" ); System.out.println(node1.getText()); } }
結果:
<書架> <書> <書名 name="ww">一本爛書!!</書名> <作者>武陟縣</作者> <價格>200元</價格> </書> <書> <書名 name="xxxxxxxxxxx">Java中級</書名> <作者>打火機</作者> <價格>2000元</價格> </書> </書架> <書> <書名 name="ww">一本爛書!!</書名> <作者>武陟縣</作者> <價格>200元</價格> </書> <書名 name="ww">一本爛書!!</書名> <作者>武陟縣</作者> <價格>200元</價格> <書> <書名 name="xxxxxxxxxxx">Java中級</書名> <作者>打火機</作者> <價格>2000元</價格> </書> <書名 name="xxxxxxxxxxx">Java中級</書名> <作者>打火機</作者> <價格>2000元</價格> <書名 name="ww">一本爛書!!</書名> ww 一本爛書!! Java中級
什么是 XPath?
Xml中文手冊:
https://wenku.baidu.com/view/9fec55d86f1aff00bfd51e04.html