XML特定查询

时间:2017-12-05 08:18:44

标签: xml xpath

我目前正在学习XML和XPATH,我需要帮助构建一个特定的XPATH查询。

以下是代码示例:

<?xml version="1.0" encoding="UTF-8"?>
<Backup_Jobs xmlns="http://www.w3.org">
<Jobs>
    <Job name="Daily_Backup" lastRunTime="2001-10-26+00:00">
        <Job_Items>
            <Item id="1">vm-Centos7</Item>
            <Item id="2">vm-sample</Item>
        </Job_Items>
    </Job>
    <Job name="replicate" lastRunTime="2004-08-01+00:00">
        <Job_Items>
            <Item id="3">VMWare Workstation</Item>
        </Job_Items>
    </Job>
</Jobs>
<Hosts>
    <Host name="vcenter.tech.local" id="1111">
        <S name="CLARiion" size="2XL"/>
        <Vm id="2122" name="vm-Centos7">
            <Drive id="1241" name="sample1" size="500"/>
        </Vm>
        <Vm id="2123" name="vm-sample">
            <Drive id="1123" name="sample2" size="500"/>
        </Vm>
        <Vm id="2124" name="VMWare Workstation">
            <Drive id="1124" name="sample3" size="950"/>
        </Vm>
    </Host>
</Hosts>
</Backup_Jobs>

这是任务:

假设我们知道[Job]的名字;此作业包含[项目],其中包含虚拟机名称。我们希望获得[Host]的名称,该[Host]具有[Vm]元素,该属性是我们之前知道的虚拟机名称

我还在学习,所以非常感谢任何形式的建议/解决方案!

1 个答案:

答案 0 :(得分:1)

Daily_Backup替换为您要执行查询的值

//Host[Vm[@name=//Job[@name="Daily_Backup"]/Job_Items/Item]]/@name