xml - 如何在不重写整个查询的情况下重写此 xquery 以删除子节点?
问题描述
这是适用于此 xml 文件的 xquery。
<results>
{
for $depen in doc("../company/dependent.xml")//dependent
where $depen/dependent_name=*
return
<row>
<dependent name="{$depen/dependent_name}"/>
{
for $emp in doc("../company/employee.xml")//employee[ssn = $depen/essn ]
return
<employee>
<emp fname="{$emp/fname}" lname="{$emp/lname}"/>
{
for $man in doc("../company/employee.xml")//employee[ssn = $emp/superssn ]
return
<manager>
<mgr fname="{$man/fname}" lname="{$man/lname}"/>
</manager>
}
</employee>
}
</row>
}
</results>
它产生下面的输出。
<results>
<row>
<dependent name="Alice"/>
<employee>
<emp fname="John" lname="Smith"/>
<manager>
<mgr fname="Franklin" lname="Wong"/>
</manager>
</employee>
</row>
<row>
<dependent name="Elizabeth"/>
<employee>
<emp fname="John" lname="Smith"/>
<manager>
<mgr fname="Franklin" lname="Wong"/>
</manager>
</employee>
</row>
<row>
<dependent name="Michael"/>
<employee>
<emp fname="John" lname="Smith"/>
<manager>
<mgr fname="Franklin" lname="Wong"/>
</manager>
</employee>
</row>
<row>
<dependent name="Alice"/>
<employee>
<emp fname="Franklin" lname="Wong"/>
<manager>
<mgr fname="James" lname="Borg"/>
</manager>
</employee>
</row>
<row>
<dependent name="Joy"/>
<employee>
<emp fname="Franklin" lname="Wong"/>
<manager>
<mgr fname="James" lname="Borg"/>
</manager>
</employee>
</row>
<row>
<dependent name="Theodore"/>
<employee>
<emp fname="Franklin" lname="Wong"/>
<manager>
<mgr fname="James" lname="Borg"/>
</manager>
</employee>
</row>
<row>
<dependent name="Abner"/>
<employee>
<emp fname="Jennifer" lname="Wallace"/>
<manager>
<mgr fname="James" lname="Borg"/>
</manager>
</employee>
</row>
</results>
如何删除最终结果中的员工和经理标签,使其看起来更像下面这样。
<results>
<row>
<dependent name="Alice"/>
<emp fname="John" lname="Smith"/>
<mgr fname="Franklin" lname="Wong"/>
</row>
<row>
<dependent name="Elizabeth"/>
<emp fname="John" lname="Smith"/>
<mgr fname="Franklin" lname="Wong"/>
</row>
<row>
<dependent name="Michael"/>
<emp fname="John" lname="Smith"/>
<mgr fname="Franklin" lname="Wong"/>
</row>
<row>
<dependent name="Alice"/>
<emp fname="Franklin" lname="Wong"/>
<mgr fname="Franklin" lname="Wong"/>
</row>
<row>
... 等等等等。
我只需要知道如何重写最终的 xquery 以消除最终结果中对员工和经理节点的需求,但仍保留该值。
解决方案
推荐阅读
- mule - Objectstore 不是通过集群环境共享的吗?
- docker - Vscode 永远下载 Vs Code Server
- javascript - 使用 highcharts 模板中的 fastapi 交互式绘图更新
- python - 将数据从 azure python 函数流式传输到客户端
- woocommerce - 下订单后同步 Woocommerce 计费字段
- go - 如何将结构转换为平面路径数组?
- javascript - 无法将列表项添加到 HTML 文档
- ios - Apple 的 Vision VNContoursObservation 耗时是 OpenCV findContours 的 715 倍
- postgresql - Postgres 逻辑复制 - 何时生成类型消息?
- v8 - V8:如何在 Persistent 处理程序上使用 Set 方法?