init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
34
technology/files/XPath.md
Normal file
34
technology/files/XPath.md
Normal file
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
obj: concept
|
||||
wiki: https://en.wikipedia.org/wiki/XPath
|
||||
---
|
||||
|
||||
# XPath
|
||||
XPath ([XML](XML.md) Path Language) is a powerful query language used to navigate and select elements from [XML](XML.md) documents. It is commonly employed in web scraping, [XML](XML.md) processing, and testing scenarios.
|
||||
|
||||
## XPath Syntax
|
||||
XPath expressions use a path notation to identify and navigate [XML](XML.md) elements. The basic syntax includes:
|
||||
- **Node Selection:** `/` is used to select the root node. `element` selects all child elements of the current node with the specified name: `/root/element`
|
||||
- **Wildcards:** The `*` symbol is used as a wildcard for any element. `/root/*`
|
||||
- **Predicates:** Square brackets `[]` are used to specify conditions for node selection. `/root/element[@attribute='value']`
|
||||
|
||||
### Absolute XPath
|
||||
Absolute XPath provides the complete path from the root node to the desired element. It starts with a single forward slash `/`.
|
||||
`/html/body/div[1]/p[2]`
|
||||
|
||||
### Relative XPath
|
||||
Relative XPath selects elements based on their relationship to other elements. It does not start from the root, allowing for more flexible and adaptable expressions.
|
||||
`//div[@class='example']/a`
|
||||
|
||||
### XPath Functions
|
||||
XPath provides various functions for more complex queries. Examples include `text()`, `contains()`, and `position()`.
|
||||
`//h2[contains(text(),'XPath')]`
|
||||
|
||||
Some functions include:
|
||||
- `text()`: The `text()` function is used to select the text content of an element.
|
||||
- `contains(element, value)`: The `contains()` function is used to check if a string contains a specific substring.
|
||||
- `starts-with(element, value)`: The `starts-with()` function is used to check if a string starts with a specified prefix.
|
||||
- `concat(elements...)`: The `concat()` function concatenates two or more strings.
|
||||
- `not(element)`: The `not()` function negates a given expression.
|
||||
- `position()`: The `position()` function returns the position of the current node in the selection.
|
||||
- `last()`: The `last()` function returns the position of the last node in the selection.
|
Loading…
Add table
Add a link
Reference in a new issue