- 选择节点:
- //tag:选择文档中所有tag元素。
- /tag:选择根节点下的tag元素。
- //tag[@attribute='value']:选择具有特定属性值的tag元素。
- 选择子节点:
- tag1/tag2:选择tag1下的所有tag2子节点。
- tag1/*:选择tag1下的所有子元素。
- 选择父节点:
- ..:选择当前节点的父节点。
- 选择兄弟节点:
- tag1/following-sibling::tag2:选择tag1后面的所有tag2兄弟节点。
- tag1/preceding-sibling::tag2:选择tag1前面的所有tag2兄弟节点。
过滤和条件
- 条件过滤:
- //tag[@attribute]:选择具有特定属性的tag元素。
- //tag[@attribute='value']:选择属性值为value的tag元素。
- //tag[position()=1]:选择第一个tag元素。
- //tag[last()]:选择最后一个tag元素。
- 逻辑运算:
- //tag[@attribute='value' and @another_attribute='another_value']:选择同时满足多个条件的节点。
特殊函数
- text():选择节点的文本内容。
- //tag[text()='some text']:选择文本内容为some text的tag元素。
- //tag[contains(@attribute, 'partial_value')]:选择属性中包含partial_value的tag元素。
- starts-with():检查字符串是否以特定子字符串开头。
- //tag[starts-with(@attribute, 'prefix')]:选择属性以prefix开头的tag元素。