【问题标题】:XPath (c#) Selecting nodes, then further selecting nodes based on the first queryXPath (c#) 选择节点,然后根据第一个查询进一步选择节点
【发布时间】:2010-07-17 16:57:40
【问题描述】:

我有以下 XML

   <question>
    <questiontext>How old are you?</questiontext>
    <options>
      <option oldScore="0" Score="20">17-25</option>
      <option oldScore="8" Score="12">26-30</option>
      <option oldScore="20" Score="2">31-50</option>
      <option oldScore="16" Score="10">51-60</option>
      <option oldScore="12" Score="14" >61-70</option>
      <option oldScore="8" Score="16" >71+</option>
    </options>
  </question>

我需要做的是根据问题文本和选项文本选择确切的节点。

例如返回具有 questiontext = "How old are you?" 的节点和 option="71+"

questions/question[questiontext='How old are you?']/options[option='71+']/option

上述方法确实有效,但它总是返回第一个节点,而不是我想要的节点。

帮助! :)

谢谢大家

【问题讨论】:

  • Quartermeister 的解决方案有效,但如果有人能解释我做错了什么,那就太好了。谢谢

标签: xml xpath


【解决方案1】:

试试:

questions/question[questiontext='How old are you?']/options/option[text()='71+']

【讨论】:

  • 完美 - 非常感谢。祝福您和您的家人
  • 您选择一个选项元素 (/options),它有一个元素 option=71,并且在该 /options 元素中您选择一个普通的 /option,它不必遵守任何其他要求(afaik:所有
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多