Búsqueda de sitios web

PowerShell: cómo convertir XML en cadena


A menudo es posible que desee utilizar PowerShell para convertir un objeto XML en una cadena.

Puede utilizar los siguientes métodos para hacerlo:

Método 1: utilizar OuterXml

[xml]$my_xml = Get-Content my_data.xml

$my_xml.OuterXml

Este ejemplo particular convertirá el objeto XML llamado $my_xml en una cadena.

Método 2: usar OuterXml y PreserveWhiteSpace

$my_xml = [xml]::new()
$my_xml.PreserveWhitespace = $true
$my_xml.Load('my_data.xml')

$my_xml.OuterXml

Este ejemplo particular generará el objeto XML llamado $my_xml en una cadena conservando el espacio en blanco del formato.

Los siguientes ejemplos muestran cómo utilizar cada método en la práctica.

Ejemplo 1: utilizar OuterXml para convertir XML en cadena

Supongamos que tenemos un archivo XML llamado my_data.xml en nuestro directorio actual.

Podemos usar el cmdlet Get-Content para ver el contenido de este archivo:

Podemos usar la siguiente sintaxis para cargar este archivo XML en un objeto llamado $my_xml y luego convertir el objeto en una cadena:

[xml]$my_xml = Get-Content my_data.xml

$my_xml.OuterXml

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que la salida muestra el objeto XML como una cadena.

Ejemplo 2: utilizar OuterXml y PreserveWhiteSpace para convertir XML en cadena

Una vez más, supongamos que tenemos un archivo XML llamado my_data.xml en nuestro directorio actual:

Podemos usar la siguiente sintaxis para cargar este archivo XML en un objeto llamado $my_xml y luego convertir el objeto en una cadena, preservando al mismo tiempo el espacio en blanco en el formato del archivo:

$my_xml = [xml]::new()
$my_xml.PreserveWhitespace = $true
$my_xml.Load('my_data.xml')

$my_xml.OuterXml

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

La salida muestra el objeto XML como una cadena.

Observe que se ha conservado el espacio en blanco en el formato del archivo.

Nota: Puede encontrar la documentación completa de la propiedad PreserveWhiteSpace en PowerShell aquí.

Artículos relacionados