Seleccionar atributos en XML usando XPath
-
Use el cmdlet
Select-Xmlpara seleccionar atributos en XML en PowerShell -
Utilice el método
SelectNodespara seleccionar atributos en XML en PowerShell -
Use el cmdlet
Get-Contentpara seleccionar atributos en XML en PowerShell
XML significa Lenguaje de marcado extensible. Un archivo XML es un archivo de texto sin formato que tiene etiquetas personalizadas para definir la estructura del documento.
Se utiliza principalmente para almacenar y compartir información estructurada. El contenido del archivo XML se parece al archivo HTML.
Este tutorial presentará diferentes métodos para seleccionar atributos en XML usando XPath en PowerShell.
Use el cmdlet Select-Xml para seleccionar atributos en XML en PowerShell
El cmdlet Select-Xml le permite buscar texto en una cadena o documento XML usando XPath.
Este es un ejemplo simple de un archivo XML.
<website>
<site name="DelftStack">
<content>
<topic>PowerShell Howtos</topic>
<article>How to convert XML into CSV?</article>
</content>
</site>
<site name="DelftStack">
<content>
<topic>Linux Howtos</topic>
<article>Delete Files Recursively in Linux</article>
</content>
</site>
</website>
El siguiente comando busca la consulta XPath topic en un archivo new.xml en el directorio C:\Users\rhntm.
Select-Xml -Path C:\Users\rhntm\new.xml -XPath "//topic" | Select-Object -ExpandProperty Node
Producción :
#text
-----
PowerShell Howtos
Linux Howtos
El parámetro -Path especifica la ruta y los nombres de archivo de los archivos XML para buscar.
El parámetro -XPath especifica una consulta XPath para buscar. El texto de la consulta distingue entre mayúsculas y minúsculas.
Utilice el método SelectNodes para seleccionar atributos en XML en PowerShell
El método SelectNodes() selecciona una lista de nodos que coinciden con la expresión XPath en un archivo XML.
El siguiente ejemplo selecciona el nodo content de un archivo new.xml.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content')
Producción :
topic article
----- -------
PowerShell Howtos How to convert XML into CSV?
Linux Howtos Delete Files Recursively in Linux
El [xml] convierte la variable como un objeto XML. El cmdlet Get-Content obtiene el contenido de un C:\Users\rhntm\new.xml y lo guarda en la variable $xml.
Para seleccionar el atributo específico, puede utilizar el cmdlet Select-Object. Por ejemplo, el siguiente comando selecciona sólo el article de un archivo new.xml.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content') | Select-Object article
Producción :
article
-------
How to convert XML into CSV?
Delete Files Recursively in Linux
Use el cmdlet Get-Content para seleccionar atributos en XML en PowerShell
Como ha visto anteriormente, el cmdlet Get-Content obtiene el contenido de un archivo XML. Puede guardar el contenido en una variable y convertirlo como un objeto XML.
El siguiente ejemplo muestra cómo usar Get-Content y seleccionar atributos en un archivo XML.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.website.site.content.topic
Producción :
PowerShell Howtos
Linux Howtos
Esta es una manera fácil de usar si desea el valor de texto del archivo XML. Esperamos que esto le haya ayudado a seleccionar atributos en XML en PowerShell.
