After converting an XML or HTML document into a DOM tree structure, how can we locate a specific node? XPath enables this function to navigate through the path and attributes of nodes in the DOM tree. Through the XPath path expression, you can select nodes (nodes) in the DOM tree) or node-set ).
XPath contains more than 100 built-in functions. These functions are used to compare string values, numeric values, date and time, segment operations, sequential operations, Boolean values, and so on.
Java package for parsing
Java 5 introduces the javax. xml. XPath package, which is a library used for xpath document query independent of the XML object model.
Xalan-Java http://xml.apache.org/xalan-j/
Common functions
Common functions of xpath mainly include node set functions, string functions, Boolean functions, and numeric functions. There are many documents on the Internet, so I will not describe them here. refer to the following documents:
[A] http://www.w3schools.com/xpath/xpath_functions.asp for xpath, XQuery, and XSLT Functions
[B] XPath functions http://www.caucho.com/resin-3.0/xml/xpath-fun.xtp
[C] XPath functions (msdn) http://msdn2.microsoft.com/en-us/library/ms256138.aspx
Common locating statement instances
1. // node [not (@ Class)] All nodes whose names are node and do not contain the class attribute
2. // node [@ class and @ ID] All nodes named node that contain both the class and ID attributes
3. // node [contains (text (), substring] nodes whose names are node and whose text contains substring
// A [contains (text (), \ "Next Page \")] All hyperlink nodes that contain the "next page" String
// A [contains (@ title ,"ArticleTitle ")] All hyperlink nodes whose title attributes contain the" article title "String
4. // node [@ ID = "myid"]/text () all direct text subnodes of nodes whose node name is node and whose property ID is myid
5. Book [author/degree] All book nodes that contain the author node and contain at least one degree child node
6. Author [. = "Matthew Bob"] All author nodes with the value of "Matthew Bob"
7. // * [count (BBB) = 2] All nodes that contain two BBB Child Nodes
8. // * [count (*) = 2] All nodes with two child nodes
9. // * [name () = 'bbb '] All nodes named BBB, equivalent to // bbb
10. // * [starts-with (name (), 'B')] All nodes whose names start with B
11. // * [contains (name (), 'C')] All nodes whose names contain letters c
12. // * [String-length (name () = 3] nodes with names of 3 letters
13. // CCC | // All CCC or BBB nodes
14./child: AAA is equivalent to/AAA
15. // CCC/descendant: * all nodes whose CCC is their ancestor
16. // DDD/parent: * All parent nodes of the DDD Node
17. // BBB [position () mod 2 = 0] BBB node at an even position
18. Author [not (last-name = "Bob")] All nodes that do not contain the value of the last-name element Bob
19. P/text () [2] The second text node of the P node in the current context node
20. Ancestor: Book [1] Book ancestor node closest to the current context node
21. // A [text () = "Next"] the content of the anchor text is equal to that of node A of next.
Finally, we recommend an XPATH plug-in Firefox:
XPath checker
Https://addons.mozilla.org/en-US/firefox/addon/1095
This plug-in allows you to easily view the path of any element on the webpage, but the automatically generated path to the XPath is usually not the simplest path.
References:
[1] XPath examples. http://msdn2.microsoft.com/en-us/library/ms256086.aspx
[2] XPath tutorial Http://www.zvon.org/xxl/XPathTutorial/Output/example1.html
[3] How does XPath introduce http://www.xml.org.cn/dispbbs.asp? Boardid = 14 & id = 35493
[4] The XPath reference http://msdn2.microsoft.com/en-us/library/ms256115.aspx
[5] XML Path Language (XPath) Version 1.0 http://www.w3.org/TR/xpath
[6] XPath tutorial http://www.w3schools.com/xpath/default.asp