小编Mai*_*aik的帖子

为什么XQuery表达式返回错误的元素数?

我想返回的每时间表L1和L0项目的数量也警告的数量,也按计划.

这实际上是一个"数量如果"的情况.

我尝试了以下XQuery,它可以很好地计算L1,L0和警告,但会计算所有警告,而不是仅计算所有警告value = "yes".

xquery version "3.0";

let $nl := "
"
let $quote := """
let $pipe := "|"
let $nodecount := 0

for $profiles in doc("maik test.xml")/PROFILE
for $schedule in $profiles/SCHEDULE
let $schedulename := $schedule/@name
group by $schedulename
return ($nl, 
$schedulename, $pipe, "L0 count:", count($schedule/L0),
$pipe, "L0 Warnings:", count($schedule/L0/ATTRIBUTE[@NAME = "Warnings"]/VALUE/string() = "Yes"),
$pipe, "L1 count:", count($schedule/L0/L1),
$pipe, "L1 Warnings:", count($schedule/L0/L1/ATTRIBUTE[@NAME = "Warnings"]/VALUE/string() = "Yes"))
Run Code Online (Sandbox Code Playgroud)

示例XML:

<?xml version="1.0" encoding="UTF-8"?>
<PROFILE name="profile1">
    <SCHEDULE name="schedule1">
        <L0> …
Run Code Online (Sandbox Code Playgroud)

xml xquery count xml-parsing xquery-3.0

4
推荐指数
1
解决办法
113
查看次数

标签 统计

count ×1

xml ×1

xml-parsing ×1

xquery ×1

xquery-3.0 ×1