XPath常用规则
示例HTML
<div id="songs-list">
<h2 class ="title">经典老歌</h2>
<p class="introduction"> 经典老歌</p>
<ul id="list" class="list-group">
<li data-view="2 ">一路上有你</ li>
<li data-view="7">
<a href ="/2.mp3" singer="任贤齐">沧海一卢笑</a>
</li>
<li data-view="4" class="active">
<a class="li item" name="item" href ="/4.mp3 singer ="齐泰">往事随风</a>
</li>
<li data-view="飞"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
<li data-view="5"><a href="/S.mp3" singer="除也琳">记事本</a></li>
<li data-view="5"><a href="/6.mp3" singer="邓丽君">但愿人长久</a>
</li>
</ul>
</div>
所有节点
//*
子节点
//li/a
父节点
//li/.. 或 //li/parent::ul
文本获取
//li/a/text()
属性匹配
//li/a[@href="/4.mp3"]
//li/a[@href]
//li/a[not(@href)]
属性获取
//li/a/@href
属性多值匹配(适用于属性包含多个值,如class=“li item”)
//li/a[contains(@class, “li”)]
多属性匹配(适用于匹配多个属性,如 <a class=“li item” name=“item”/>)
//li/a[contains(@class, “li”) and @name=“item”]
按序索引(顺序从1开始)
//li[1]
//li[last()]
//li[position() < 3]
//li[last() - 1]
节点轴选择
//li/parent:: *
//li/parent::ul
//li/child::a[@href="/4.mp3"]
//li/ancestor::div
//li/descendant::a[@href]
//li[1]/following::a[1]
//li[1]/following-sibling::li[1]