2015-10-09 35 views
1

我想查找<issue>,其中id = 6。我该怎么做?我尝试以下,但它没有工作:如何查找按属性值的元素?

<issues> 
<issue> 
    <id>7</id> 
    <project id="1" name="testProject"/>  
    <author id="1" name="testAuthor"/>  
    <subject>subject</subject> 
    <start_date>2015-08-24</start_date>  
</issue> 
<issue> 
    <id>6</id> 
    <project id="2" name="testProject2"/>  
    <author id="2" name="testAuthor2"/>  
    <subject>subject2</subject> 
    <start_date>2015-08-24</start_date>  
</issue> 
</issues> 

我的XPath表达式企图是:

doc.xpath("//id[contains(text(), '6']") 

doc.xpath("//issue[@id=6]") 

回答

2

您可以简单地使用下面的XPath表达式得到具有子元素的issue元素,其中id等于6

//issue[id=6] 

id是一个子元素,而不是属性,因此您不使用@id来执行此任务。

+0

这很简单... @ har07非常感谢! –

+0

@yak_ilnur不客气。不要忘记[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)答案,因为它实际上*回答了你的问题 – har07