xpath 函数的使用示例
时间: 2023-11-20 15:13:13 浏览: 30
1. 获取所有 div 元素中 class 属性值为 "content" 的 p 元素的文本内容:
```
//div[@class='content']/p/text()
```
2. 获取所有 a 元素中 href 属性以 "https://" 开头的元素的 href 属性值:
```
//a[starts-with(@href, 'https://')]/@href
```
3. 获取所有表格中第二列的数据:
```
//tr/td[2]/text()
```
4. 获取所有 ul 元素中的第一个 li 元素的文本内容:
```
//ul/li[1]/text()
```
5. 获取所有 class 属性值为 "example" 的元素的 id 属性值:
```
//*[@class='example']/@id
```
相关问题
python xpath函数
Python中的XPath函数可以使用第三方库lxml来实现。下面是一个简单的例子,演示如何使用XPath函数从HTML文档中提取信息:
```python
from lxml import etree
# 创建HTML文档
html = """
<html>
<head>
<title>Python XPath Demo</title>
</head>
<body>
<div id="content">
<h1>Python XPath Demo</h1>
<p>This is a demo of Python XPath.</p>
<ul>
<li><a href="http://www.example.com">Example</a></li>
<li><a href="http://www.python.org">Python</a></li>
</ul>
</div>
</body>
</html>
"""
# 将HTML文档转换为Element对象
root = etree.HTML(html)
# 使用XPath函数提取信息
title = root.xpath('//title/text()')[0]
links = root.xpath('//a/@href')
# 输出结果
print("Title: ", title)
print("Links: ", links)
```
输出结果为:
```
Title: Python XPath Demo
Links: ['http://www.example.com', 'http://www.python.org']
```
在上面的例子中,我们首先使用lxml库将HTML文档转换为Element对象,然后使用XPath函数从中提取信息。在XPath表达式中,`//`表示从根节点开始查找,`/`表示在当前节点下查找,`@`表示获取属性值。
XPath 求和函数
XPath 有一个内置的求和函数可以用来计算节点集合中数值的总和。该函数的语法如下:
```
sum(expression)
```
其中,`expression` 是一个 XPath 表达式,用于选择要求和的节点集合。该表达式可以是一个节点集合,也可以是一个包含数值的属性或元素。
以下是几个示例:
1. 求和所有 `<price>` 元素的值:
```xpath
sum(//price)
```
2. 求和所有具有 `class` 属性且值为 `"number"` 的 `<div>` 元素下的文本节点值:
```xpath
sum(//div[@class="number"]/text())
```
3. 求和所有 `<item>` 元素的 `quantity` 属性值:
```xpath
sum(//item/@quantity)
```
请根据你的具体需求,替换表达式中的路径和条件以适应你的 XML 结构。