我目前正在学习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]元素,该属性是我们之前知道的虚拟机名称。
我还在学习,所以非常感谢任何形式的建议/解决方案!
答案 0 :(得分:1)
将Daily_Backup
替换为您要执行查询的值
//Host[Vm[@name=//Job[@name="Daily_Backup"]/Job_Items/Item]]/@name