代码之家  ›  专栏  ›  技术社区  ›  Alex Howansky

标识未标记文本的XPath查询

  •  3
  • Alex Howansky  · 技术社区  · 14 年前

    <html>
      <head>
      </head>
    <body>
      <table>
        <tr>
          <td>
            <h1>title</h1>
            <h3>item 1</h3>
              text details for item 1
            <h3>item 2</h3>
              text details for item 2
            <h3>item 3</h3>
              text details for item 3
          </td>
        </tr>
      </table>
    </body>
    </html>
    

    我对XPath不是很熟悉,但在我看来,没有任何符号可以单独匹配“文本详细信息”部分。你能确认吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Dimitre Novatchev    14 年前

    使用

    /html/body/table/tr/td/h3/following-sibling::text()[1]
    

    这意味着:获取 h3 元素的子元素 tr 元素的子元素 table body 元素的子元素 html 顶部元素。

    或者,如果您只知道所需的文本节点是所有 在docunet中,tis XPath表达式选择它们:

    //h3/following-sibling::text()[1]
    
        2
  •  1
  •   kadalamittai    14 年前

    在Xml/Xpath世界中

    所以考虑到你的例子

    TD有7个子节点

    getChild(3)应该返回“项目1的文本详细信息”值。

    $x//table/tr/td/text()[1]