2013-04-16 24 views
2

存在子我有有一個關鍵字屬性檢查XQuery中

<Books> 

    <Book name="Steve Jobs" type="biography" keywords="biography technology apple"> 

     <Authors> 

      <Author> 
... 

我想找到所有的「書」與關鍵字「傳記」的XML文檔。我一直無法找到在字符串中搜索的方法。如何解決這個問題?

回答

0

人們可以使用這個XPath 1.0表達式,這可能不是執行標記化是更有效的:

/*/Book[contains(concat(' ', @keywords, ' '), ' biography ')] 
1

下面的XQuery返回確實具有在一組關鍵字,由空格分開的傳記「所有book元素(序列由記號化構建,分離器是空格)

doc('yourdoc')//Book['biography' = tokenize(@keywords, '\s')] 
1

你也可以使用:

  1. //書[含有(@keywords, '傳記')] - 或
  2. //集[開始-與(@keywords, '傳記')]