Exercices XML

Exercice XPATH 2 Corrigé

Soit le fichier courrier.xml suivant :

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE something> 
 
 
<courrier> 
     
    <lettre> 
         
        <adrexp numero="123">             <nom>Mr abd</nom> 
            <appartement>23</appartement> 
            <rue>uuu</rue> 
            <codepost>1234</codepost> 
            <ville>ariana</ville> 
             
        </adrexp> 
         
        <adrdest numero="122"> 
            <nom>Mlle f</nom> 
            <appartement>23</appartement> 
            <rue>uuu</rue> 
            <codepost>1111</codepost> 
            <ville>tunis</ville> 
            <pays>TUNISIE</pays> 
        </adrdest> 
         
        <ville>trt</ville>  
         
        <date> 
            <jour>13</jour>   
            <mois>janvier</mois> 
            <annee>2002</annee> 
             
        </date> 
         
        <objet>REMENT</objet> 
         
        <corps> 
            <p>ddd</p> 
            <p>ddd</p> 
            <p>ddd</p> 
            <p>vfsv</p> 
            <p>vdsf</p> 
        </corps> 
        <corps> 
            <p>ddd</p> 
        </corps> 
    </lettre> 
     
</courrier> 

En utilisant le fichier courrier.xml, réalisez les requêtes XPath suivantes :  

  1. les objets des lettres dont la ville de l’adresse de destination est « Tunis » ?
  2. Les noms commençant par Mlle ?
  3. Les lettres dont les villes de l’adresse d’expédition et l’adresse de destination sont différentes ?
  4. Le nombre de lettres rédigées en janvier 2002 ?
  5. Le corps de la lettre contenant plus de deux paragraphes ?

 

  1. //courrier/lettre/objet[../adrdest[ville='tunis']]
  2. /courrier/descendant::nom[starts-with(.,'Mlle')]
  3. /courrier/lettre[./adrexp/ville != ./adrdest/ville ]
  4. count(//lettre[./date/mois='janvier' and ./date/annee='2002'])
  5. //corps[count(./p)>2]

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.