XPath:选择具有属性子节点的父节点

ken*_*yzx 9 xpath

我想获得具有"系统"孙子的"包"节点,其具有"mtm"属性,并且"mtm"属性的值是"2055".对于以下示例文档,只应返回第一个Package节点.

我用

"/Database/Package[/SystemCompatibility/System[@mtm='2055']]"
Run Code Online (Sandbox Code Playgroud)

但它不起作用.这个表达有什么问题?

<?xml version="1.0" encoding="UTF-8"?>
<Database version="300">
<Package id="6imb05ww" description="ThinkPad Modem Adapter">  
    <SystemCompatibility>
        <System mtm="8742" os="Windows XP" oslang="en" />
        <System mtm="2055" os="Windows XP" oslang="jp" />
    </SystemCompatibility>
</Package>
<Package id="6imb06ww" description="ThinkPad Modem Adapter">  
    <SystemCompatibility>
        <System mtm="3046" os="Windows XP" oslang="en" />
    </SystemCompatibility>
</Package>
</Database>
Run Code Online (Sandbox Code Playgroud)

Joh*_*tta 13

删除/之前SystemCompatibility

/Database/Package[SystemCompatibility/System[@mtm='2055']]
Run Code Online (Sandbox Code Playgroud)