2012-03-28 41 views
5

Tài liệu XML của tôi trông giống như thistại sao truy vấn XPATH này không hoạt động?

Khi tôi chạy truy vấn XPATH //collected_objects, tôi không nhận được bất kỳ nút nào được chọn. Tôi đang làm gì sai? Tôi muốn chọn toàn bộ nút collect_objects.

+0

@marc_s, có vẻ như câu hỏi đó có thể được đánh dấu là đã trả lời… –

Trả lời

7

Vì tài liệu XML của bạn có một không gian tên XML được xác định (<oval_system_characteristics xmlns="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5") - bạn cần bao gồm điều đó trong truy vấn của mình!

Cách bạn có thể thực hiện việc này tùy thuộc vào ngôn ngữ hệ thống/lập trình bạn đang sử dụng. Trong .NET/C#, bạn có thể thực hiện việc này như sau:

// 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); 
Các vấn đề liên quan