Ich erstelle ein neues Objekt in PowerShell und verwende eine Hashtabelle, um Eigenschaftswerte festzulegen. Ich möchte dann das Objekt mit der ConvertTo-XML-Methode in das XML-Format exportieren.
%Vor%Die XML-Ausgabe lautet wie folgt:
%Vor%Ich möchte, dass die XML-Tags wie folgt formatiert werden:
%Vor%Und dann, wenn es eine gute Lösung dafür gibt, gibt es auch eine Möglichkeit, die Objekt (e) -Tags auch benutzerdefiniert zu machen?
Danke.
Ich denke nicht, dass du mit ConvertTo-Xml
dorthin kommen kannst. Sie können jedoch here strings
dazu verwenden. Es ist eine Art Low-Tech, aber immer noch ziemlich cool:
Du könntest das XML DOM
verwenden, um dieses Dokument zu erstellen, aber das wäre mehr Arbeit und für solch ein einfaches Dokument denke ich, dass der here string
Ansatz ziemlich gut funktioniert. Es ist auch gut für jede Art von Text Templating.
Mjolinors einziger Liner ist sehr nützlich für die Ausgabe von benutzerdefinierten Powershell-Objekttabellen im oben beschriebenen XML-Format. Es ist jedoch ein Fehler darin - das schließende "/" XML-Tag ist falsch herum. Dies bedeutet, dass der XML-Code ungültig ist und einen Fehler "XML Parsing Error: not well-formed" ergibt. Nahm mich eine Weile, um herauszufinden, was falsch war, hier ist der korrigierte Code, damit andere es nicht wieder herausfinden müssen:
%Vor%Dabei ist $ SelectedResults die Ausgabe des PS Custom-Objekts.
Sie können die XML-Ausgabe testen und ob sie hier gültig ist - Ссылка
Die ausgewählte Antwort funktionierte für mich, aber ich musste diese Zeile ändern
%Vor%bis
%Vor%Schlüssel und Werte statt Schlüssel und Wert
Wenn Sie möchten, dass die Leerzeichen im Editor angezeigt werden, verwenden Sie
%Vor%(Ich habe nicht genug Reputation, um die Antwort zu kommentieren)
Tags und Links xml powershell hash psobject