0
我正在努力從網頁中提取一些內容。xquery beginner-如何在xml中沒有該變量的內容時給變量賦予特定的默認值
下面給出了我正在使用的XQuery代碼。我正在使用XQuery庫來解析通過將HTML網頁轉換爲XML而獲得的XML。在那之後我提取從XML頁面的一些具體內容:
declare variable $doc as node() external;
let $select_block := $doc//div[@class="randomclass" and contains(.,'MatchingText')]
for $select_link in $select_block/a
for $select_link_url in $select_link/@href
where contains($assignee_link_url, 'inassignee')
return data($select_link)
從上面,你可以看到,可變$select_block
嘗試提取網頁具有class="randomclass"
的該分區的內容,幷包含文本「MatchingText 」。
現在,如果有問題的網頁不包含這樣的塊,那麼我如何返回默認值$select_link
?基本上,我想要解決在XQuery表達式中沒有返回值作爲選擇的情況,這樣我就可以標記一個標誌,告訴用戶該值未找到。
- 上面的xquery是否正確?我可以在'if'之前看到一個'return'(我認爲它不應該在那裏...)...另外不應該有'默認值'之前的另一個返回?謝謝... – Arvind 2012-08-06 10:19:37
@ChristianGrün - 如果我想給出3個不同的輸出 - 一個檢查是否存在「select_block」,一個用於檢查「select_link」的存在和第三個用於輸出像往常一樣...怎麼做我創建了一個if .. then..else if ... else? Xquery允許這樣的構造嗎?你能否爲上面的例子提供這樣的結構(有3個場景)?非常感謝... – user1578871 2012-08-06 10:23:45
@ChristianGrün我發現了嵌套if-then-else的一些例子..謝謝你的幫助... – user1578871 2012-08-06 13:15:33