Xquery以提取文本

Xquery以提取文本,xquery,Xquery,我正在从html文档中提取文本并存储在数据库中。我正在使用webharvest工具提取内容。然而,我在某种程度上陷入了困境。在webharvest内部,我使用XQuery表达式来提取数据。我正在分析的html文档如下所示: <td><a name="hw">HELLOWORLD</a>Hello world</td> 然而,我总是得到“HELLOWORLD”而不是“HELLOWORLD” 有没有办法提取“Hello World”。请帮忙 如果我

我正在从html文档中提取文本并存储在数据库中。我正在使用webharvest工具提取内容。然而,我在某种程度上陷入了困境。在webharvest内部,我使用XQuery表达式来提取数据。我正在分析的html文档如下所示:

 <td><a name="hw">HELLOWORLD</a>Hello world</td>
然而,我总是得到“HELLOWORLD”而不是“HELLOWORLD”

有没有办法提取“Hello World”。请帮忙

如果我想这样做怎么办:

     <td>
       <a name="hw1">HELLOWORLD1</a>Hello world1
       <a name="hw2">HELLOWORLD2</a>Hello world2
       <a name="hw3">HELLOWORLD3</a>Hello world3
     </td>

你好,世界1你好,世界1
HelloWorld2你好world2
HelloWorld3 Hello world3

我想提取hw2和hw3之间的文本Hello world 2。我不想使用text()[3],但是否有某种方法可以将/a[@name='hw2']和/a[@name='hw3']之间的文本提取出来。

首先,您要查找名称属性以“hw”开头的a节点。这可以通过以下途径实现:

$item//a[starts-with(@name,'hw')]
找到a节点后,您希望检索a节点后面的第一个文本节点。可以这样做:

$item//a[starts-with(@name,'hw')]/following-sibling::text()[1]
$item//a[starts-with(@name,'hw')]/following-sibling::text()[1]