我的 xml 是:
<record>
<field name="f1"/>
<id name="f2"/>
<id name="f3"/>
<field name="f4"/>
<info/>
</record>
Run Code Online (Sandbox Code Playgroud)
我想像这样在 xquery 中循环遍历它:
for $i in $records/record/field | $records/record/id
return
if ( .... $i is id .... ) then .... do something .... else ... do something else ...
Run Code Online (Sandbox Code Playgroud)
这可能吗?如何区分什么时候$i是id,什么时候是field?
另一个巧妙的 XQuery 解决方案是使用类型开关:
for $i in $records/record/field | $records/record/id
return
typeswitch($i)
case element(id) return ...
case element(field) return ...
default return ...
Run Code Online (Sandbox Code Playgroud)