Ich schreibe einen PowerShell-Wrapper für ein vorhandenes Perl-Skript. Das Perl-Skript erhält eine Reihe von Parametern und schaltet alle unsere HP iLO-Geräte für uns aus und konfiguriert die Ergebnisse in einem XML-Format. Das Problem ist das Ergebnis herauskommt als eine große Blob von mehreren XML-Anweisungen, dh:Wie kann ich eine Zeichenfolge mit mehreren XML-Stammelementen in PowerShell auflösen?
$strResult = & "perl locfg.pl -s $iloInterface -f $configXML"
<?xml version="1.0"?>
<RIBCL VERSION="2.22"/>
<RESPONSE
STATUS="0x0000"
MESSAGE='No error'
/>
</RIBCL>
<?xml version="1.0"?>
<RIBCL VERSION="2.22"/>
<RESPONSE
STATUS="0x0000"
MESSAGE='No error'
/>
</RIBCL>
usw.
, um dann die $strResult
werfen Der Versuch, XML-Ergebnisse in Fehler: „Es gibt mehrere Stammelemente
Hat jemand irgendwelche Gedanken darüber, wie ich diese XML-Anweisungen in PowerShell aufteilen kann, um sie gültig zu machen? Ich dachte, vielleicht ein Dummy-Stammelement in Ordnung? Oder sollte ich das zugrunde liegende Perl-Skript optimieren?
Danke. Dies ist sicherlich das, was ich suche :) Ich werde in der Tiefe ein wenig mit Powershell geworfen, aber ich denke, es ist fantastisch im Vergleich zu Vbscript;) Ich werde dies ausprobieren, wenn ich morgen arbeiten werde:) –
Sie können wahrscheinlich auch einfach auf die leere Zeile aufteilen, mit '-split '' n'n' ', aber ich wusste nicht, ob diese Zeile zwischen den einzelnen XML-Segmenten immer leer wäre und ob keine leeren Zeilen wären erscheinen in ihnen. Also entschied ich mich an einem Punkt zu trennen, an dem es eindeutig ein XML-Ausgangspunkt ist. – Joey
Hallo Johannes, versuche oben zu replizieren, bekomme ich die folgende Fehlermeldung: PS D: \ iLO Skripte> (gc. \ Xmlsample.txt) -join "' n "-split" <\? Xml "| Sie müssen einen Wertausdruck auf der rechten Seite des Operators '-' angeben. Bei Zeile: 1 Zeichen: 23 + (gc. \ Xmlsample.txt) -j <<<< oin "' n "-split" <\? Xml "| –