valor obtener nodo net leer especifico xml powershell xpath xml-namespaces

xml - obtener - ¿Cómo accedo a un elemento con xpath con un espacio de nombres en powershell?



xpath c# (1)

Tienes algunos problemas pasando. Primero, debe especificar el espacio de nombres en el patrón XPath, el XML no está bien formado (la etiqueta de cierre no es una etiqueta de cierre) y Select-Xml devuelve XmlInfo y no XmlElement directamente. Prueba esto:

$xml = [xml]@'' <submission version="2.0" type="TREE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:noNamespaceSchemaLocation="TREE.xsd" xmlns="some/kind/of/tree/v1"> <group> <item></item> <item></item> <item></item> </group> </submission> ''@ $ns = @{dns="some/kind/of/tree/v1"} $items = Select-Xml -Xml $xml -XPath ''//dns:item'' -Namespace $ns $items | Foreach {$_.Node.Name}

Potencia Shell:

$doc = new-object System.Xml.XmlDocument $doc.Load($filename) $items = Select-Xml -Xml $doc -XPath ''//item'' $items | foreach { $item = $_ write-host $item.name }

No obtengo salida

XML:

<?xml version="1.0" encoding="UTF-8"?> <submission version="2.0" type="TREE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:noNamespaceSchemaLocation="TREE.xsd" xmlns="some/kind/of/tree/v1"> <group> <item></item> <item></item> <item></item> </group> <submission>