test namespace examples ejemplo checker xml xpath namespaces

namespace - xpath xml



XPath en un documento XML con espacio de nombres (3)

Creo que

//anyType[namespace-uri() = "http://www.w3.org/2001/XMLSchema-instance"][local-name() = "type"]

Hará lo que quiera.

Estoy teniendo este documento XML con espacios de nombres y quiero extraer algunos nodos con XPath.

Aquí está el documento:

<ArrayOfAnyType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> <anyType xsi:type="Document"> <Id>5</Id> <Title>T1</Title> </anyType> <anyType xsi:type="Document"> <Id>15</Id> <Title>T15</Title> </anyType> </ArrayOfAnyType>

¿Cuál será la expresión XPath si quiero extraer todos los elementos "anyType" con xsi: type = "Document"?

He intentado esto:

//anyType[@xsi:type="Document"]

y no funciona:


Si está utilizando C #, debe especificar el espacio de nombres para el elemento "anyType" en su XPath:

var xml = new XmlDocument(); xml.LoadXml( "your xml" ); var names = new XmlNamespaceManager( xml.NameTable ); names.AddNamespace( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); names.AddNamespace( "a", "http://tempuri.org/" ); var nodes = xml.SelectNodes( "//a:anyType[@xsi:type=''Document'']", names );