Home  >  Article  >  Web Front-end  >  Summary of Xpath positioning

Summary of Xpath positioning

高洛峰
高洛峰Original
2017-03-08 11:51:473758browse

1.Relative positioning and absolute positioning

// represents relative positioning. Relative positioning should be used for pages or nodes that frequently change. Search

Summary of Xpath positioning

/ means absolute positioning. When remains unchanged, you can use absolute positioning to search

2.Node

##Top node: bookstore

Summary of Xpath positioningCurrent node:.

If there are multiple current nodes, match multiple

Summary of Xpath positioning

If the current node has only 1, then match 1

Summary of Xpath positioning

Select the current node The parentnode:" ..

For p under html/body, its parent node is body. This is done using absolute The path means that you must find the body from the html and then find p, and then match the parent node of p.

Summary of Xpath positioning

If you use a relative path to find the parent node, you can see that its absolute position is not considered starting from p, that is to say All elements starting from body that meet the conditions of the parent node will be found.

Find all elements under the current node: //book[1]/..

This is the method of node index +parent node

Summary of Xpath positioning

##3.

Positioning by label Element //book

: Find all tags named

book

Summary of Xpath positioning

One more Baidu

Summary of Xpath positioning

4.

Attribute positioning1.

The element whose positioning attribute is

category//book[@category='cooking'] '

[]

' means search attribute

Summary of Xpath positioning2.

Use

text text attribute for precise positioning, text can also be used instead of

Find the element with the text 30.00 under

//book//price

Summary of Xpath positioning

Find the element in the text in the year tag that is greater than 2004

Summary of Xpath positioning

3. Use contains for fuzzy positioning. contains means containing

Fuzzy positioning searches for elements whose text information contains Potter: //title[contains(text(),"Potter")]

Summary of Xpath positioning

Extension Exercise

Summary of Xpath positioning

Summary of Xpath positioning

4.”*” means any Attributes All attributes

Find all attributes with attribute values://@*

Summary of Xpath positioning

Find all elements with attributes in the tag:

Summary of Xpath positioning

Use

Not to negate , means to find elements that have no attributes in the title tag , there is no one here so I didn’t find it.

@*

means all attributes

not(@*)

means no attributes

5.

Find elements with the

category attribute//@category

Summary of Xpath positioning

5.

Logical operators1.

Locate elements through the

and operator//book[@category="web" and @cover="paperback"]

Summary of Xpath positioning2. Locate elements through the or operator

// book[@category="children" or @cover="paperback"]


Summary of Xpath positioning3.

Locate elements by negating the

not operator //book[not(position()>2)]

Get the

# whose position is greater than

2 in the

book tag

##//book[not(position()>2)] not negationSummary of Xpath positioning

//year[not(.=2005) ] Summary of Xpath positioning means taking the year node that is not the

2005 text node

Find the element by “>=”“operator
//price>=30 Whether there is price greater than or equal to 30 Exists returns Boolean true Does not exist Returns Boolean: false

Summary of Xpath positioning

Summary of Xpath positioning

4.Locate elements through "!"operator

//book [@category!='web' ]

Summary of Xpath positioning

6.Locate elements by node index

1.Find the first element

//book[1]: Find the first # with the label book

Summary of Xpath positioning

##2.

Position the th 3# through position ##Element//bookstore/book[position()=3]

Summary of Xpath positioning

3.

Get multiple elements through

position//bookstore/book[position()>=2]

Summary of Xpath positioning4. Through last()

Function to find the last element

//book[last()]

5.

Pass

last ()Function to find the penultimate element//book[last()-1]

Summary of Xpath positioning

7 .

Axis positioning

Find the parent element of
book[1]/title: //book [1]/title/parent::*

Summary of Xpath positioning

Find the child elements of

book[1]: //book[ 1]/child::*

Summary of Xpath positioning//book/child::price

Find all child elements under the

book tag with the tag price

following-sibling

Application

//bookstore/book[1]/child::title/following-sibling::*
Following-sibling represents all sibling node elements in the subsequent sequence of the current node

That is to say, find all sibling nodes after

title

Summary of Xpath positioning

/bookstore/book[1]/child::title/following-sibling::author


following-sibling::author

Specify to search all sibling nodes behind

title The element named author

Summary of Xpath positioningpreceding-sibling::* represents all sibling node elements in front of the current node

//bookstore /book[1]/child::price/preceding-sibling::*

means to find all sibling elements in front of the

price node

Summary of Xpath positioning

Find ancestor nodes including self: //book[1]/ancestor-or-self::*

Summary of Xpath positioning

Find descendant nodes including self: //book[1]/descendant-or-self::*

Summary of Xpath positioning


Find all elements of the current node: //book[1]/preceding::* Find all elements under the current node

Summary of Xpath positioning

##//book[2]//preceding::*

will book[2] and book[2] nodes before Find all elements of

Summary of Xpath positioning

# #Axis summary: parent::* represents the parent node element of the current node

ancestor::* represents the ancestor node element of the current node

child::* represents the current node The child elements of the node /A/descendant::* represent all descendant elements of A
self::* represent the self elements of the current node
ancestor-or-self::* represent the current node and its ancestor nodes The element
descendant-or-self::* represents the current node and their descendant elements
following-sibling::* represents the following sibling node elements of the current node
preceding-sibling::* represents All sibling node elements in front of the current node
following::* represents all elements in the following order of the current node
preceding::* represents all elements of the current node

The above is the detailed content of Summary of Xpath positioning. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn