如何编写一个 XPath 查询来匹配两个属性?

以下问题:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">

如上所述,

如果我想要一个同时检查 id 和 class 的 XPath 表达式,我们可以执行 w/‘ and’条件 LIKE:

//div[@id='id-74385'] and div[@class='guest clearfix']

这是正确的方式吗? 我的行刑失败在这里... 请帮助!

214163 次浏览
//div[@id='..' and @class='...]

这就是选择具有所需值的 都有属性的 div运算符。

值得使用 在线 XPath 测试床来尝试一些东西。

//div[@id='id-74385'][@class='guest clearfix']

示例 XML:

<X>
<Y ATTRIB1=attrib1_value ATTRIB2=attrib2_value/>
</X>


string xPath="/" + X + "/" + Y +
"[@" + ATTRIB1 + "='" + attrib1_value + "']" +
"[@" + ATTRIB2 + "='" + attrib2_value + "']"

XPath 测试床: Http://www.whitebeam.org/library/guide/technotes/xpathtestbed.rhtm

补充 Brian Agnew 的回答。

也可以执行 //div[@id='..' or @class='...],并且在 //div[@id='..' and (@class='a' or @class='b')]中使用括号表达式。