使用XQuery:
列出多个支持的每个游戏的ID,名称,发布商和平台 平台。平台应包含在一个用逗号分隔的XML标记中。
我在思考如何计算模式时遇到问题。我需要计算的平台如上图所示。 Playstation3,XBox是一款游戏的模板。在框外,在它下面,给出了那种格式的数据。请帮助我。
答案 0 :(得分:0)
如果您的XQuery引擎支持XPath 2.0,您可以使用tokenize
函数来计算逗号分隔列表的项目:
count(tokenize("Playstation3,XBox",","))
这有帮助吗?如果没有,请您提供XML输入和预期结果的完整示例。谢谢。
答案 1 :(得分:0)
这个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>
输出:
<result>
<game>
<ID>B003JVKHEQ</ID>
<Name>Duty</Name>
<Publisher>AC</Publisher>
<Platform>Playstation3,XBox</Platform>
</game>
</result>
修改:使用文字结果元素
<result>{
for $game in /games/game[tokenize(Platform,',')[2]]
return <game>{
$game/(ID|Name|Publisher|Platform)
}</game>
}</result>