日期:2014-05-17  浏览次数:20843 次

关于C#中XPATH选择器的问题,十分感谢
如下HTML源码,想要选择:class="a"并且存在p_e属性的li标签 , 请教各位前辈XPATH应该怎么写呀?谢谢


<div id="div_y">
    <div></div>
    <div>
    <ul>
        <li class="a" p_e="0">...</li>
        <li class="a" p_e="1">...</li>
        <li class="a">...</li>
        <li class="a" p_e="2">...</li>
        <li class="a" p_e="3">...</li>
        <li class="a" p_e="4">...</li>
        <li class="a">...</li>
        <li class="a" p_e="5">...</li>
        <li class="a">...</li>
        <li class="a">...</li>
        <li class="a">...</li>
        <li class="a">...</li>
     </ul>
     </div>
</div>
XPATH C# 选择器 HTML

------解决方案--------------------
本帖最后由 net_lover 于 2013-03-05 17:52:14 编辑
"//div/div/ul/li[@class='a' and @p_e]"

<li class="a" p_e="">...</li>

的也可以查到
------解决方案--------------------
"//li[@class='a' and @p_e!='']"

这样
------解决方案--------------------
引用:
存在属性应该是
xml.SelectNodes("//div[@id='div_y']//ul/li[@class='a'][@p_e]"))

仅在Net中测试通过这种写法,js或其他语言中比较通用的写法还是用LS的and
xml.SelectNodes("//li[@class='a' and @p_e"))

//div[@id='div_y'] 是仅在<div id="div_y">的内部查找