2012-03-28 13 views
5

मेरे XML दस्तावेज़ this तरहयह XPATH क्वेरी क्यों काम नहीं कर रही है?

जब मैं XPath क्वेरी //collected_objects चलाने के लिए, मेरे द्वारा चुने गए किसी भी nodeset नहीं मिलता लग रहा है। मैं क्या गलत कर रहा हूं? मैं पूरे collect_objects नोड का चयन करना चाहता हूँ।

+0

@marc_s, ऐसा लगता है कि इसे उत्तर में जाना चाहिए, इसलिए इस प्रश्न को उत्तर के रूप में चिह्नित किया जा सकता है ... –

उत्तर

7

क्योंकि आपके एक्सएमएल दस्तावेज़ में एक्सएमएल नेमस्पेस परिभाषित (<oval_system_characteristics xmlns="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5") - आपको अपनी क्वेरी में शामिल करने की आवश्यकता है!

आप यह कैसे कर सकते हैं इस पर निर्भर करता है कि आप किस सिस्टम/प्रोग्रामिंग भाषा का उपयोग कर रहे हैं। .NET/C# में, आप ऐसा कुछ कर सकते हैं:

// 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); 
संबंधित मुद्दे