Python XPath 函数介绍
XPath 函数是在 XPath 中用于执行操作和计算结果的内置函数。以下是一些常见的 XPath 函数:
- string() 函数:用于将节点的文本内容转换为字符串。例如,对于以下 XML 文档:
<pidancode>皮蛋编程</pidancode>
使用 string() 函数可以获取节点的文本内容:
string(/pidancode) 将返回“皮蛋编程”。
- substring() 函数:用于从字符串中提取子串。例如:
substring("pidancode.com", 1, 7) 将返回“pidanco”。
- contains() 函数:用于检查一个字符串是否包含另一个字符串。例如:
contains("pidancode.com", "code") 将返回 true。
- count() 函数:用于计算节点集合中节点的数量。例如:
count(//pidancode) 将返回文档中 pidancode 元素的数量。
- sum() 函数:用于计算节点集合中数值节点的总和。例如:
<product> <name>手机</name> <price>1000</price> </product> <product> <name>电视</name> <price>2000</price> </product> sum(//product/price) 将返回 3000。
- position() 函数:用于返回当前节点在其父节点中的位置。例如:
<list> <item>1</item> <item>2</item> <item>3</item> </list> //item[position()=2] 将返回第二个 item 节点(即包含“2”的节点)。
- last() 函数:用于返回节点集合中最后一个节点的位置。例如:
<list> <item>1</item> <item>2</item> <item>3</item> </list> //item[last()] 将返回最后一个 item 节点(即包含“3”的节点)。
示例代码:
import xml.etree.ElementTree as ET # 创建 XML 文档 root = ET.fromstring(''' <products> <product> <name>手机</name> <price>1000</price> </product> <product> <name>电视</name> <price>2000</price> </product> </products> ''') # 计算产品价格总和 total = sum([float(price.text) for price in root.findall('.//price')]) print(total) # 输出 3000.0
以上是 XPath 函数的一些常见用法和示例代码。在实际应用中,需要根据具体的情况选择合适的函数来实现相应的功能。
相关文章