Question
[Résolu] XML attributs à fusionner
- arnold
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 9 ans 3 semaines #19338
par arnold
[Résolu] XML attributs à fusionner a été créé par arnold
bonjour,
Svp,
Comment lier les 2 attributs ?
[code:1]$Version = $liste.selectNodes(\"/list/groupe/position[@type=\"\"Version\"\"]\"«»)
$General = $liste.selectNodes(\"/list/groupe/position[@type=\"\"General\"\"]\"«»)
cls
$liste = [xml]@\"
<list>
<groupe>
<position type=\"General\">
<CompleteName>folder-1</CompleteName>
<dateYY>2014</dateYY>
<dateMM>jaenner</dateMM>
<dateDD>mittwoch</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration>00:1:27</Duration>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel2</Channel>
<CodecID>55</CodecID>
<Duration>00:1:27</Duration>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-2</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration>00:8:12</Duration>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel1</Channel>
<CodecID>49</CodecID>
<Duration>00:8:12</Duration>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
</list>
\"@
$liste.list.selectNodes(\"/*/*/*\"«»)
$liste.list.selectNodes(\"*\"«»)
# attr General.CompleteName
# attr Version.CodecID
\"Nom: \"+ $_.CompleteName+\"; \"+$_.CodecID
[/code:1]
Merci pour votre aide.
Arnold
Message édité par: Arnaud, à: 30/03/15 11:15<br><br>Message édité par: Arnaud, à: 7/04/15 14:09
Svp,
Comment lier les 2 attributs ?
[code:1]$Version = $liste.selectNodes(\"/list/groupe/position[@type=\"\"Version\"\"]\"«»)
$General = $liste.selectNodes(\"/list/groupe/position[@type=\"\"General\"\"]\"«»)
cls
$liste = [xml]@\"
<list>
<groupe>
<position type=\"General\">
<CompleteName>folder-1</CompleteName>
<dateYY>2014</dateYY>
<dateMM>jaenner</dateMM>
<dateDD>mittwoch</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration>00:1:27</Duration>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel2</Channel>
<CodecID>55</CodecID>
<Duration>00:1:27</Duration>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-2</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration>00:8:12</Duration>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel1</Channel>
<CodecID>49</CodecID>
<Duration>00:8:12</Duration>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
</list>
\"@
$liste.list.selectNodes(\"/*/*/*\"«»)
$liste.list.selectNodes(\"*\"«»)
# attr General.CompleteName
# attr Version.CodecID
\"Nom: \"+ $_.CompleteName+\"; \"+$_.CodecID
[/code:1]
Merci pour votre aide.
Arnold
Message édité par: Arnaud, à: 30/03/15 11:15<br><br>Message édité par: Arnaud, à: 7/04/15 14:09
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 9 ans 2 semaines #19355
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:xml attribut
Bonjour Arnold,
Que veux-tu dire exactement ?
Pourrais tu nous montrer le résultat que tu voudrais obtenir STP ?
Arnaud
Comment lier les 2 attributs ?
Que veux-tu dire exactement ?
Pourrais tu nous montrer le résultat que tu voudrais obtenir STP ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- arnold
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 9 ans 2 semaines #19361
par arnold
Réponse de arnold sur le sujet Re:xml attribut
Bonsoir Monsieur,
Merci pour Votre reponse!
J'ai une solution:
que penser vous?
Vous avez mieux que sa?
Arnold
=====================
Le dernier script:
=====================
[code:1]
$XJukeBox = [xml]@\"
<list>
<groupe>
<position type=\"General\">
<CompleteName>folder-1</CompleteName>
<dateYY>2014</dateYY>
<dateMM>jaenner</dateMM>
<dateDD>mittwoch</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:1:27</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel1</Channel>
<CodecID>55</CodecID>
<Duration_String>00:1:27</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-2</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel2</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-3</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel3</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-4</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel4</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
</list>
\"@
[System.Xml.XmlDocument]$XJukeBox = new-object System.Xml.XmlDocument
$XJukeBox.Load(\"C:\......\JukeBox.xml\"
function Scan-xml
{param ([string]$Xstring)
$XJukeBox.Audio.File | ForEach-Object{
# $Xstring = @()
$_.track | ForEach-Object{
If($_.type -eq \"General\"«»)
{
$global:«»XCompleteName = $_.CompleteName
$Xstring = \"<dt>\"+$XCompleteName+\"</dt>\"
}ElseIf($_.type -eq \"Audio\"«»)
{
# Control Time
$global:«»xDuration_String = (new-timespan -start \"00:00:00\" -end $_.Duration_String)
# Convert to seconde
$Xtext = $global:«»xDuration_String
$XtextReformat = $Xtext -replace \",\",\".\"
$Xseconds = ([TimeSpan]::«»Parse($XtextReformat)).TotalSeconds
$Xstring += \" <dt>\" +$Xseconds+\"</dt>\"
}
}
$Xstring -join \"`t\"
} | Get-Random
}
Scan-xml
clear-variable X* -scope global -F[/code:1]<br><br>Message édité par: arnold, à: 31/03/15 00:36
Merci pour Votre reponse!
J'ai une solution:
que penser vous?
Vous avez mieux que sa?
Arnold
=====================
Le dernier script:
=====================
[code:1]
$XJukeBox = [xml]@\"
<list>
<groupe>
<position type=\"General\">
<CompleteName>folder-1</CompleteName>
<dateYY>2014</dateYY>
<dateMM>jaenner</dateMM>
<dateDD>mittwoch</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:1:27</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel1</Channel>
<CodecID>55</CodecID>
<Duration_String>00:1:27</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-2</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel2</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-3</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel3</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
<groupe>
<position type=\"General\">
<CompleteName>folder-4</CompleteName>
<dateYY>2013</dateYY>
<dateMM>maerz</dateMM>
<dateDD>montag</dateDD>
<Overall_mode>cbr</Overall_mode>
<Duration_String>00:8:12</Duration_String>
<Overall_rate>96.0Kbps</Overall_rate>
</position>
<position type=\"Version\">
<Channel>channel4</Channel>
<CodecID>49</CodecID>
<Duration_String>00:8:12</Duration_String>
<Compression>Lossy</Compression>
<StreamSize>96.0Kbps</StreamSize>
</position>
</groupe>
</list>
\"@
[System.Xml.XmlDocument]$XJukeBox = new-object System.Xml.XmlDocument
$XJukeBox.Load(\"C:\......\JukeBox.xml\"
function Scan-xml
{param ([string]$Xstring)
$XJukeBox.Audio.File | ForEach-Object{
# $Xstring = @()
$_.track | ForEach-Object{
If($_.type -eq \"General\"«»)
{
$global:«»XCompleteName = $_.CompleteName
$Xstring = \"<dt>\"+$XCompleteName+\"</dt>\"
}ElseIf($_.type -eq \"Audio\"«»)
{
# Control Time
$global:«»xDuration_String = (new-timespan -start \"00:00:00\" -end $_.Duration_String)
# Convert to seconde
$Xtext = $global:«»xDuration_String
$XtextReformat = $Xtext -replace \",\",\".\"
$Xseconds = ([TimeSpan]::«»Parse($XtextReformat)).TotalSeconds
$Xstring += \" <dt>\" +$Xseconds+\"</dt>\"
}
}
$Xstring -join \"`t\"
} | Get-Random
}
Scan-xml
clear-variable X* -scope global -F[/code:1]<br><br>Message édité par: arnold, à: 31/03/15 00:36
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 9 ans 2 semaines #19367
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:xml attribut
C'est difficile à dire la limite où tu ne nous a pas dit quel est l'objectif de ton script...
Arnaud
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- arnold
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 9 ans 2 semaines #19388
par arnold
Réponse de arnold sur le sujet Re:xml attribut
Bonsoir Monsieur,
J'ai ne pas compris votre reponse..
Remarque, il fait un peut tard.
Arnold
J'ai ne pas compris votre reponse..
Remarque, il fait un peut tard.
Arnold
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- [Résolu] XML attributs à fusionner