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.
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.
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);
@marc_s, có vẻ như câu hỏi đó có thể được đánh dấu là đã trả lời… –