Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个这样的 XML 文件(但有许多药物和合作伙伴条目):
<drugs> <drug> <name>abc</name> <target partner="100" /> </drug> <partner id="100"> <name>gene</name> </partner> </drugs>
我想拔出药物和目标。可以看到,两者通过合作伙伴 id 相互关联。有没有办法在单个 xquery 语句中获取药物名称和伴侣基因名称?
有几种方法可以做到这一点,但假设您想从更大的 XML 数据集中获取所有关联:
for $d in $drugs/drug let $partner := $drugs/partner[@id = $d/target/@partner] return element assoc { attribute drug-name { $d/name }, attribute partner-name { $partner/name } }
如果每种药物可能有多个合作伙伴,那么您可能希望使用合作伙伴的元素而不是输出中的属性。