2

我有一个包含关键字属性的 XML 文档

<Books>

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

        <Authors>

            <Author>
...

我想找到关键字“传记”的所有“书籍”。我一直无法找到在字符串中搜索的方法。一个人将如何解决这个问题?

4

3 回答 3

1

以下 XQuery 返回所有在关键字集中具有“传记”的 Book 元素,由空格分隔(序列由 tokenize 构建,分隔符为空格)

doc('yourdoc')//Book['biography' = tokenize(@keywords, '\s')]
于 2013-04-16T09:18:41.100 回答
1

您还可以使用:

  1. //Book[contains(@keywords, 'biography')] -- 或
  2. //书[starts-with(@keywords, 'biography')]
于 2013-04-18T10:23:24.590 回答
0

可以使用这个 XPath 1.0 表达式,这可能比执行标记化更有效

/*/Book[contains(concat(' ', @keywords, ' '), ' biography ')]
于 2013-04-18T04:36:59.067 回答