Bonjour tous ,
voici une fonction consistant à parser un document xml afin de retrouver des informations puis de les afficher .
Je suis assez content de moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function voir-repos ($type) { $documentXML = [System.Xml.XmlDocument] (get-content ".\Calendrier2010.xml") $liste_mois = $documentXML.GetElementsByTagName( "mois" ) $liste_mois | % { $nom_du_mois=([string] $_.innerText).split();$liste_jours = $_.GetElementsByTagName( "jour" ); switch ( $liste_jours ) { {!( $_.$type -eq $null ) } { $jour=$_;$numero_du_jour=$jour.numero if( $jour.$type.HasAttributes ) { $liste_attributs=$jour.$type.Attributes if ( $liste_attributs.ItemOf( "demi" ) ) { if($liste_attributs.ItemOf( "h" ) -or $liste_attributs.ItemOf( "m" )) { "ERREUR : $numero_du_jour $nom_du_mois [ambigue]"} else {"1/2 $type le $numero_du_jour $nom_du_mois" } } else { $h=$liste_attributs.ItemOf( "h" );$m=$liste_attributs.ItemOf( "m" ) if([int]$h.value) {if([int]$m.value) {"$($h.value)h$($m.value)mn le $numero_du_jour $nom_du_mois" } else {"$($h.value)h le $numero_du_jour $nom_du_mois" } } elseif([int]$m.value) {"$($m.value)mn le $numero_du_jour $nom_du_mois" } else {"ERREUR : $numero_du_jour $nom_du_mois [non renseigné]"} } } else { "$type le $numero_du_jour $nom_du_mois" } } } } }
malgré tout je sens que cela pourrait être optimisé ...
comment ?
Partager