Question [Résolu] XML attributs à fusionner

Plus d'informations
il y a 9 ans 3 semaines #19338 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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 2 semaines #19355 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:xml attribut
Bonjour Arnold,

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.

Plus d'informations
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]@\&quot;
&lt;list&gt;
&lt;groupe&gt;
&lt;position type=\&quot;General\&quot;&gt;
&lt;CompleteName&gt;folder-1&lt;/CompleteName&gt;
&lt;dateYY&gt;2014&lt;/dateYY&gt;
&lt;dateMM&gt;jaenner&lt;/dateMM&gt;
&lt;dateDD&gt;mittwoch&lt;/dateDD&gt;
&lt;Overall_mode&gt;cbr&lt;/Overall_mode&gt;
&lt;Duration_String&gt;00:1:27&lt;/Duration_String&gt;
&lt;Overall_rate&gt;96.0Kbps&lt;/Overall_rate&gt;
&lt;/position&gt;
&lt;position type=\&quot;Version\&quot;&gt;
&lt;Channel&gt;channel1&lt;/Channel&gt;
&lt;CodecID&gt;55&lt;/CodecID&gt;
&lt;Duration_String&gt;00:1:27&lt;/Duration_String&gt;
&lt;Compression&gt;Lossy&lt;/Compression&gt;
&lt;StreamSize&gt;96.0Kbps&lt;/StreamSize&gt;
&lt;/position&gt;
&lt;/groupe&gt;
&lt;groupe&gt;
&lt;position type=\&quot;General\&quot;&gt;
&lt;CompleteName&gt;folder-2&lt;/CompleteName&gt;
&lt;dateYY&gt;2013&lt;/dateYY&gt;
&lt;dateMM&gt;maerz&lt;/dateMM&gt;
&lt;dateDD&gt;montag&lt;/dateDD&gt;
&lt;Overall_mode&gt;cbr&lt;/Overall_mode&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Overall_rate&gt;96.0Kbps&lt;/Overall_rate&gt;
&lt;/position&gt;
&lt;position type=\&quot;Version\&quot;&gt;
&lt;Channel&gt;channel2&lt;/Channel&gt;
&lt;CodecID&gt;49&lt;/CodecID&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Compression&gt;Lossy&lt;/Compression&gt;
&lt;StreamSize&gt;96.0Kbps&lt;/StreamSize&gt;
&lt;/position&gt;
&lt;/groupe&gt;
&lt;groupe&gt;
&lt;position type=\&quot;General\&quot;&gt;
&lt;CompleteName&gt;folder-3&lt;/CompleteName&gt;
&lt;dateYY&gt;2013&lt;/dateYY&gt;
&lt;dateMM&gt;maerz&lt;/dateMM&gt;
&lt;dateDD&gt;montag&lt;/dateDD&gt;
&lt;Overall_mode&gt;cbr&lt;/Overall_mode&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Overall_rate&gt;96.0Kbps&lt;/Overall_rate&gt;
&lt;/position&gt;
&lt;position type=\&quot;Version\&quot;&gt;
&lt;Channel&gt;channel3&lt;/Channel&gt;
&lt;CodecID&gt;49&lt;/CodecID&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Compression&gt;Lossy&lt;/Compression&gt;
&lt;StreamSize&gt;96.0Kbps&lt;/StreamSize&gt;
&lt;/position&gt;
&lt;/groupe&gt;
&lt;groupe&gt;
&lt;position type=\&quot;General\&quot;&gt;
&lt;CompleteName&gt;folder-4&lt;/CompleteName&gt;
&lt;dateYY&gt;2013&lt;/dateYY&gt;
&lt;dateMM&gt;maerz&lt;/dateMM&gt;
&lt;dateDD&gt;montag&lt;/dateDD&gt;
&lt;Overall_mode&gt;cbr&lt;/Overall_mode&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Overall_rate&gt;96.0Kbps&lt;/Overall_rate&gt;
&lt;/position&gt;
&lt;position type=\&quot;Version\&quot;&gt;
&lt;Channel&gt;channel4&lt;/Channel&gt;
&lt;CodecID&gt;49&lt;/CodecID&gt;
&lt;Duration_String&gt;00:8:12&lt;/Duration_String&gt;
&lt;Compression&gt;Lossy&lt;/Compression&gt;
&lt;StreamSize&gt;96.0Kbps&lt;/StreamSize&gt;
&lt;/position&gt;
&lt;/groupe&gt;
&lt;/list&gt;
\&quot;@

[System.Xml.XmlDocument]$XJukeBox = new-object System.Xml.XmlDocument
$XJukeBox.Load(\&quot;C:\......\JukeBox.xml\&quot;

function Scan-xml
{param ([string]$Xstring)
$XJukeBox.Audio.File | ForEach-Object{
# $Xstring = @()
$_.track | ForEach-Object{
If($_.type -eq \&quot;General\&quot;«»)
{
$global:«»XCompleteName = $_.CompleteName
$Xstring = \&quot;&lt;dt&gt;\&quot;+$XCompleteName+\&quot;&lt;/dt&gt;\&quot;
}ElseIf($_.type -eq \&quot;Audio\&quot;«»)
{
# Control Time
$global:«»xDuration_String = (new-timespan -start \&quot;00:00:00\&quot; -end $_.Duration_String)

# Convert to seconde
$Xtext = $global:«»xDuration_String
$XtextReformat = $Xtext -replace \&quot;,\&quot;,\&quot;.\&quot;
$Xseconds = ([TimeSpan]::«»Parse($XtextReformat)).TotalSeconds
$Xstring += \&quot; &lt;dt&gt;\&quot; +$Xseconds+\&quot;&lt;/dt&gt;\&quot;
}
}

$Xstring -join \&quot;`t\&quot;

} | 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.

Plus d'informations
il y a 9 ans 2 semaines #19367 par Arnaud Petitjean
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... :whistle:

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.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.075 secondes
Propulsé par Kunena