2012-03-28 38 views
5

Mi documento XML se parece this¿por qué esta consulta XPATH no funciona?

Cuando corro consulta XPATH //collected_objects, no lo entiendo cualquier conjunto de nodos seleccionados. ¿Qué estoy haciendo mal? Quiero seleccionar todo el nodo collect_objects.

+0

@marc_s, parece que debería ir a una respuesta, por lo que esta pregunta se puede marcar como respondida ... –

Respuesta

7

Dado que su documento XML tiene un espacio de nombres XML definido (<oval_system_characteristics xmlns="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5") - ¡debe incluirlo en su consulta!

Cómo puede hacer esto depende de qué sistema/lenguaje de programación está utilizando. En .NET/C#, podría hacer algo como esto:

// create XmlDocument and load XML file 
XmlDocument doc = new XmlDocument(); 
doc.Load(yourXmlFileNameHere); 

// define XML namespace manager and a prefix for the XML namespace used 
XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable); 
mgr.AddNamespace("ns", "http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"); 

// get list of nodes, based on XPath - using the XML namespace manager 
XmlNodeList list = doc.SelectNodes("//ns:collected_objects", mgr); 
Cuestiones relacionadas