Xquery解析文本标签

问题描述:

我正在使用XQuery从HTML页面提取内容。 HTML主体结构是这样的:Xquery解析文本<a>标签

<td> 
     <a href ="hw1">xyz </a> 
      Hello world 1 
     <a href="hw2">Helloworld 2</a> 
      Helloworld 3   
</td> 

我对提取文本XQuery表达式如下:

//a[starts-with(@href,'hw1')]/following-sibling::text() 

这种表达给我:

的Helloworld 1的Helloworld 2的Helloworld 3

我想用这种方式: Helloworld 1 Helloworld 2 Helloworld 3或 Helloworld 1的HelloWorld 3

如何指定解析由标签

+0

我没有用XQuery做过多的工作,所以有更多知识的人不得不为此提供帮助。但是,您有一个嵌套的'a'标记,这在HTML中是不允许的。这可能是问题的一部分。 – Mike 2010-06-25 07:28:28

+0

它也有可能得到输出为 Helloworld 1 Helloworld 2 Helloworld 3 – Technocrat 2010-06-25 07:30:59

+0

哎呀我错过了标签。对不起。 ​​ xyz 世界,你好1 Helloworld 2 的Helloworld 3 – Technocrat 2010-06-25 07:33:45

我真不明白你在找什么包围的文字,但

let $content := 
<td> 
     <a href ="hw1">xyz </a> 
      Hello world 1 
     <a href="hw2">Helloworld 2</a> 
      Helloworld 3   
</td> 

return $content/text() 

直接给你的文本节点下的<td>。我没有看到你得到的和你想要的有什么区别......也许你的文章丢失了一些格式?