2011-04-19 83 views
6

我有2个元素具有相同的属性,但具有不同的子节点值。我可以查询以查找与该属性以及子节点值相匹配的特定元素。具体来说,这是我用来查询的示例xml(原始xml中的每个元素都有10个以上的childe节点)。xpath查询查找条件匹配属性和子节点值的元素

<Book size="2"> 
    <Title>abc</Title> 
    <Price>10</Price> 
</Book> 
<Book size="2"> 
    <Title>xyz</Title> 
    <Price>20</Price> 
</Book> 
<Book size="4"> 
    <Title>Harry</Title> 
    <Price>10</Price> 
</Book> 

所以,现在我想找到它具有@size = "2"Title = xyz Book元素。

这是可能的,通过使用SelectSingleNode方法?如果不是如何查询这个?

谢谢

+0

可能重复[Xpath表达式与多个谓词](http://stackoverflow.com/questions/568713/xpath-expression-with-multiple-predicates) – 2011-04-19 21:55:40

回答

12

此:

//Book[@size='2'][Title='xyz'] 

或者这样:

//Book[@size='2' and Title='xyz'] 

注意,当您的模式被称为使用//气馁。

1

这种工作?

//Book[@size='2']//Title[text() = "xyz"]/.. 
相关问题