我有一个XML文档,其中包含关键字属性
<Books>
<Book name="Steve Jobs" type="biography" keywords="biography technology apple">
<Authors>
<Author>
...
我想找到所有带有关键字“传记”的“书籍”。我找不到在字符串中搜索的方法。如何处理这个?
答案 0 :(得分:1)
以下XQuery返回所有具有“传记”的Book元素。在关键字集合中,由空格分隔(序列由tokenize构建,分隔符是空格)
doc('yourdoc')//Book['biography' = tokenize(@keywords, '\s')]
答案 1 :(得分:1)
您也可以使用:
答案 2 :(得分:0)
可以使用此XPath 1.0表达式,这可能比执行标记化更有效:
/*/Book[contains(concat(' ', @keywords, ' '), ' biography ')]