Câu chuyện đằng sau XPath và hỗ trợ cho không gian tên là gì? XPath có phải là đặc tả trước các không gian tên không? Nếu tôi có một tài liệu mà các yếu tố đã được đưa ra một không gian tên mặc định:XPATHS và không gian tên mặc định
<foo xmlns="uri" />
Có vẻ như một số các thư viện xử lý XPath sẽ không nhận ra //foo
vì không gian tên trong khi những người khác sẽ làm. Tùy chọn nhóm của tôi đã nghĩ đến là thêm tiền tố không gian tên bằng cách sử dụng cụm từ thông dụng cho XPath (bạn có thể thêm tiền tố không gian tên thông qua XmlNameTable) nhưng điều này có vẻ dễ vỡ vì XPath là ngôn ngữ linh hoạt khi nói đến kiểm tra nút.
Có một tiêu chuẩn áp dụng cho điều này không?
Cách tiếp cận của tôi hơi bị hack nhưng dường như nó hoạt động tốt; Tôi xóa tuyên bố xmlns
bằng tìm kiếm/thay thế và sau đó áp dụng XPath.
string readyForXpath = Regex.Replace(xmldocument, "xmlns=\".+\"", String.Empty);
Đó có phải là cách tiếp cận công bằng hoặc có ai giải quyết vấn đề này khác nhau không?
Nếu bạn muốn chọn sử dụng các nút ở nhiều độ sâu, bạn sẽ phải thực hiện một số việc như: 'xml.SelectNodes (" kml: kml/kml: Tài liệu/kml: Thư mục ", trình quản lý)' –