繁体   English   中英

根据子节点值选择Xpath元素

[英]Select Xpath Element Based on Child Node Value

假设我有xpath的一部分,看起来像

<parent elements>
    <div>
        <h2>Dog</h2>
    <div>
        <h2>Cat</h2>
        <table>
            <tbody>
                <tr>Some Text</tr>
                <tr>Some Text</tr>
                <tr>Some Text</tr>
                <tr>Some Text</tr>
                <tr>Target</tr>
            </tbody>
    <div>

我首先需要将其范围缩小到仅h2标签内部值为==“ Cat”的div。 之后,我需要深入研究上述div并提取第5个tr元素。

我要克服的问题是所有div都有唯一的h2,但是它们的顺序是随机的,因此有时带有h2 ==“ Cat”的div可能是./div[1],而有时可能是./div[1]。 / DIV [5]。 一旦我用适当的h2(唯一标识符)标识了div,便可以可靠地始终提取出第5个tr元素。

我目前正在尝试下面的代码,但只返回True / False

./parent_elements[div/h2 = "Web Site Information"]

非常感谢!

由于您的示例输入XML无效,因此我将其调整为:

<parent_elements>
  <div>
    <h2>Dog</h2>
    <div>
       <h2>Cat</h2>
       <table>
          <tbody>
             <tr>Some Text</tr>
             <tr>Some Text</tr>
             <tr>Some Text</tr>
             <tr>Some Text</tr>
             <tr>Target</tr>
          </tbody>
       </table>
    </div>
  </div>
</parent_elements>

对于此示例,以下XPath

//parent_elements//div[h2='Cat']//tr[5]

有结果

<tr>Target</tr>

该XPath选择值为h2元素的子元素的第五个tr ,其值Catparent_elements的子元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM