xpath查询,用于查找具有与属性和子节点值匹配的条件的元素

时间:2011-04-19 21:36:25

标签: xml xpath selectsinglenode

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

 <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方法可以实现吗?如果不是如何查询这个?

由于

2 个答案:

答案 0 :(得分:14)

此:

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

或者这个:

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

请注意,当您的架构已知时,不建议使用//

答案 1 :(得分:1)

这有用吗?

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