Question
xml et powershell
- sacan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 9 ans 9 mois #22009
par sacan
xml et powershell a été créé par sacan
Bonjour,
Je dois traiter un fichier xml via un script powershell.
Je rencontre un petit soucis pour le parcourir car je ne peut pas utiliser la cmdlet select-xml
exemple si je recherche dans mon fichier la valeur du xpath: root.name.poste
voilà mon code:
[code:1]$XmlFilePath = \"fichier.xml\"
[xml]$xml = Get-Content $XmlFilePath
$value = $xml.root.name.poste[/code:1]
avec ce code çà fonctionne et ça me renvoie bien la valeur contenu dans l'attribut root.name.poste
Ce que je souhaite faire c'est de stocker l'ensemble des mes Xpath dans un fichier csv (car il y en a beaucoup) afin de les appeler et les stocker dans un variable pour récupérer leur valeur.
[code:1]$XmlFilePath = 'fichier.xml'
$propertiesCSV = 'fichier.csv'
[xml]$xml = Get-Content $XmlFilePath
$contenucsv = Import-Csv $propertiesCSV -Delimiter \";\" | select-object Description,XpathValue
foreach ( $Data in $contenucsv )
{
$description = $Data.Description
$Value = $Data.XpathValeur
#interpretation de la valeur avec le xpath
$xpathValue = $xml.$value
$xpathValue
}[/code:1]
Le problème est qu'il ne m’interprète pas mon $xml
Il me renvoie $xml.root.name.poste et nom la valeur.
Je voudrais savoir s'il est possible de récupérer la valeur d'un xpath en utilisant $xml+'Xpath'
Merci pour votre aide
Je dois traiter un fichier xml via un script powershell.
Je rencontre un petit soucis pour le parcourir car je ne peut pas utiliser la cmdlet select-xml
exemple si je recherche dans mon fichier la valeur du xpath: root.name.poste
voilà mon code:
[code:1]$XmlFilePath = \"fichier.xml\"
[xml]$xml = Get-Content $XmlFilePath
$value = $xml.root.name.poste[/code:1]
avec ce code çà fonctionne et ça me renvoie bien la valeur contenu dans l'attribut root.name.poste
Ce que je souhaite faire c'est de stocker l'ensemble des mes Xpath dans un fichier csv (car il y en a beaucoup) afin de les appeler et les stocker dans un variable pour récupérer leur valeur.
[code:1]$XmlFilePath = 'fichier.xml'
$propertiesCSV = 'fichier.csv'
[xml]$xml = Get-Content $XmlFilePath
$contenucsv = Import-Csv $propertiesCSV -Delimiter \";\" | select-object Description,XpathValue
foreach ( $Data in $contenucsv )
{
$description = $Data.Description
$Value = $Data.XpathValeur
#interpretation de la valeur avec le xpath
$xpathValue = $xml.$value
$xpathValue
}[/code:1]
Le problème est qu'il ne m’interprète pas mon $xml
Il me renvoie $xml.root.name.poste et nom la valeur.
Je voudrais savoir s'il est possible de récupérer la valeur d'un xpath en utilisant $xml+'Xpath'
Merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- NicolasBdn
-
- Hors Ligne
- Membre senior
-
il y a 9 ans 7 mois #22111
par NicolasBdn
Réponse de NicolasBdn sur le sujet Re:xml et powershell
Bonjour,
$xml.$value devrait fonctionné.
Mais j'ai noté que tu avais mal orthographié ta propriété. Dans ton import tu notes: select-object Description,XpathValue
'XpathValue'
Et dans ton Foreach tu utilises:
'XpathValeur'
Si ça peut t'aider.
$xml.$value devrait fonctionné.
Mais j'ai noté que tu avais mal orthographié ta propriété. Dans ton import tu notes: select-object Description,XpathValue
'XpathValue'
Et dans ton Foreach tu utilises:
'XpathValeur'
Si ça peut t'aider.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.036 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- xml et powershell