小编Ben*_*gle的帖子

根据关联列表中的值过滤XPath列表

鉴于此XML

<DiagList>
    <Diag id="1" icd="400"/>
    <Diag id="2" icd="401"/>
    <Diag id="3" icd="402"/>
    <Diag id="4" icd="400"/>
</DiagList>
<ICDList>
    <ICD id="400" description="First one"/>
    <ICD id="401" description="Second one"/>
    <icd id="402" description="Third one"/>
<ICDList>
Run Code Online (Sandbox Code Playgroud)

我想写一个Xpath查询,它将选择Diags,其中相关ICD的描述包含一些文本.

因此,例如,如果我指定了"st"的文本,那么我应该得到Diags"1"和"4".如果我指定"ir"的文本,我应该得到diags"1","3"和"4".

我试过了

/DiagList/Diag[contains(lcase(/ICDList/ICD[@id=/DiagList/Diag/@icd]/@description), 'st')]
Run Code Online (Sandbox Code Playgroud)

和变化.

我无法让它发挥作用.似乎它不喜欢对@icd的嵌套引用.

这是可能的吗?

谢谢你

xpath

6
推荐指数
1
解决办法
842
查看次数

标签 统计

xpath ×1