Powershell, xml en sortie d'écran
Je suis en train d'apprendre PowerShell. Je peux charger un fichier xml dans une variable et le manipuler. Je peux appeler ensuite l'objet de la méthode d'enregistrement pour enregistrer sur le disque. Je m'attendais à y avoir un moyen de sortie le xml résultant de l'écran. Je n'arrive pas à en trouver un. Est-il un moyen, autre que la sortie vers un fichier, puis le fichier à l'écran?
OriginalL'auteur Vimes | 2011-05-26
Vous devez vous connecter pour publier un commentaire.
Regarder PSCX module. Vous trouverez
Format-Xml
applet de commande qui fait exactement cela.Exemple:
produira:
Pour plus d'info regardez
help format-xml -full
+1 pour cette. Il y a beaucoup de grandes choses dans le PSCX module ne savais pas que c'était là. Il vaut la peine de l'installer si vous êtes un PS de l'utilisateur et ne l'avez pas installé encore.
OriginalL'auteur stej
Je ne pouvais pas obtenir de la Communauté des Extensions de travail et je n'ai pas vraiment envie d'installer quelque chose en plus, de toute façon. J'ai trouvé une autre approche sur un blog Microsoft -
Super! Merci beaucoup!
Excellente solution. Le nom de la fonction est trompeur... il n'a rien à voir avec un écran,
Write-Output
rend la norme de la fonction de sortie de sorte que vous pouvez capturer dans une variable$formatted = WriteXmlToScreen $xml
, ou d'un tuyau, quelque partWriteXmlToScreen $xml | Out-File $f
Cette solution a été plus facile et moins intrusif que le téléchargement de la PSCX module. Merci!
OriginalL'auteur samaspin
La seule façon que je sais, c'est à l'aide de
System.Xml
propriétés commeouterxml
ouinnerxml
. Ces propriétés doivent avoir le code déjà en retrait tant que la source a été.$xmlObj.InnerXml
semble faire l'affaire.Une remarque sur quelque chose qui me troublait au premier abord. J'ai dû mettre
$xmlObject.PreserveWhitespace = $true
(où xmlObject est votre variablename) avant chargement des données xml dans$xmlObject
afin d'obtenir les sauts de ligne et des tirets de l'original.L'Indentation doit être indépendante de
PreserveWhitespace
. Peut-être devenir pertinentes lors de la sortie sur l'écran.Il apparaît alors. Sans
PreserveWhitespace
la sortie à l'écran perd le plus de retours et de tirets où mettez-le en garde. Sauf pour les retours et les tirets qui font partie de texte interne, il ressemble.Curieusement, avec mon fichier de test, lors de l'enregistrement de fichier de l'un des onglets se transformèrent en deux espaces, mais les autres onglets étaient très bien.OriginalL'auteur Emiliano Poggi
C'est un vieux thread mais je voulais partager mon hackish réponse. J'ai besoin d'envoyer le fichier xml en php et je ne pouvais pas envoyer quoi que ce soit d'autre.
la réponse, je suis venu avec était d'enregistrer le fichier sur le disque, puis exécutez une obtenir du contenu. Cela fait écho à dos le texte xml et rien d'autre:
Dans mon cas, j'ai été de l'envoyer à PHP et cela a fonctionné parfaitement
OriginalL'auteur Jared Skarstedt