2 votes

Requête spécifique XML

Je suis en train d'apprendre XML et XPATH et j'ai besoin d'aide pour construire une requête XPATH spécifique.

Voici l'exemple de code :

<?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>

Voici la tâche à accomplir :

Supposons que nous connaissions le nom d'un [Emploi] ; cet emploi contient un [Article] qui a un nom d'une machine virtuelle . Nous voulons obtenir le nom du [Host] qui possède un élément [Vm] dont l'attribut est l'élément nom d'une machine virtuelle que nous connaissions déjà.

Je suis encore en train d'apprendre, donc toute forme de conseil/solution sera très appréciée !

2voto

splash58 Points 20421

Remplacer Daily_Backup avec la valeur pour laquelle vous voulez exécuter la requête

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X