2010-06-25 130 views
0

我正在使用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

回答

0

我真不明白你在找什麼包圍的文字,但

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

return $content/text() 

直接給你的文本節點下的<td>。我沒有看到你得到的和你想要的有什麼區別......也許你的文章丟失了一些格式?