计数中的Xquery问题

计数中的Xquery问题,xquery,Xquery,使用XQuery: 列出多个游戏支持的每个游戏的id、名称、发行商和平台 站台平台应包含在一个由逗号分隔的XML标记中 我在思考如何计算表格时遇到了问题。我需要计算的平台如上图所示。Playstation3、XBox是一款游戏的模板。在框的外面,在框的下面,给出了数据的格式。请帮我做一下。如果您的XQuery引擎支持XPath 2.0,您可以使用tokenize函数来计算逗号分隔列表中的项目: count(tokenize("Playstation3,XBox",",")) 这有用吗?如果没有

使用XQuery:

列出多个游戏支持的每个游戏的id、名称、发行商和平台 站台平台应包含在一个由逗号分隔的XML标记中


我在思考如何计算表格时遇到了问题。我需要计算的平台如上图所示。Playstation3、XBox是一款游戏的模板。在框的外面,在框的下面,给出了数据的格式。请帮我做一下。

如果您的XQuery引擎支持XPath 2.0,您可以使用
tokenize
函数来计算逗号分隔列表中的项目:

count(tokenize("Playstation3,XBox",","))
这有用吗?如果没有,请提供一个完整的XML输入示例和预期结果。谢谢。

此XQuery:

element result {
   for $game in /games/game[tokenize(Platform,',')[2]]
   return element game {
             $game/(ID|Name|Publisher|Platform)
          }
}
通过此输入:

<games>
    <game>
        <ID>B003JVKHEQ</ID>
        <Name>Duty</Name>
        <Publisher>AC</Publisher>
        <ESRB>M</ESRB>
        <Motion>False</Motion>
        <Platform>Playstation3,XBox</Platform>
    </game>
</games>

B003JVKHEQ
责任
自动控制
M
错误的
Playstation3,XBox
输出:

<result>
    <game>
        <ID>B003JVKHEQ</ID>
        <Name>Duty</Name>
        <Publisher>AC</Publisher>
        <Platform>Playstation3,XBox</Platform>
    </game>
</result>

B003JVKHEQ
责任
自动控制
Playstation3,XBox
编辑:使用文字结果元素

 <result>{
   for $game in /games/game[tokenize(Platform,',')[2]]
   return  <game>{
              $game/(ID|Name|Publisher|Platform)
          }</game>
}</result>
{
对于$game in/games/game[tokenize(平台,')[2]]
返回{
$game/(ID | Name | Publisher | Platform)
}
}

请用我的id:shib将您的电子邮件id发送给我。shilpa@gmail.com. 我可以把我的xml文件发送给你。请帮帮我。我不能在这里输入playstation3、xbox等平台的名称。我必须让它独立。只需计算平台。标记化(平台,“,”)[2]]-为什么在这里使用2??并且在查询中也使用了关键字元素?它是一个函数。我阅读了文档,但没有找到它there@user507087:关于
元素
,请参阅。@user507087:About
tokenize(平台,,)[2]
:我为什么要使用
count(tokenize(平台,,))ge 2
(计算全部并测试是否大于或等于2)何时我可以测试是否有第二项?我们可以不使用元素进行测试吗???@user507087:可以。使用文本结果元素。我将更新答案。@user507087:请不要更改您的问题。这使它们没有意义