Cách hiệu quả hơn để kiểm tra XmlDocument cho một nút XmlDeclaration là gì?Cách kiểm tra XmlDeclaration trong XmlDocument C#
5
A
Trả lời
6
Bạn sắp xếp loại "hiệu quả" nào? Hiệu quả của biểu thức, hoặc hiệu quả tại thời gian thực hiện? Dưới đây là truy vấn LINQ tìm thấy tuyên bố khá nhanh:
XmlDeclaration declaration = doc.ChildNodes
.OfType<XmlDeclaration>()
.FirstOrDefault();
Tôi nghi ngờ rằng sẽ đủ hiệu quả. Có thể bạn chỉ có thể chỉ kiểm tra xem nút con đầu tiên có là XmlDeclaration
... Tôi không nghĩ rằng bất kỳ điều gì khác có thể xảy ra trước đó.
Nếu có khả năng sử dụng LINQ to XML thay vào đó, thì việc này trở nên dễ dàng hơn - bạn chỉ cần sử dụng thuộc tính XDocument.Declaration
.
8
Để kiểm tra xem nó có một:
bool hasDec = doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration;
Để có được nó nếu nó có một:
XmlDeclaration dec = doc.FirstChild as XmlDeclaration;
Hãy nhớ rằng không có nội dung cho phép trước khi khai báo XML (trừ một BOM, mà không được coi là nội dung, nhưng một vật phẩm mã hóa trong luồng, do đó sẽ không có nút tương ứng).
Các vấn đề liên quan
- 1. Làm cách nào để thêm XmlDeclaration tùy chỉnh bằng XmlDocument/XmlDeclaration?
- 2. C# XmlDocument SelectNodes
- 3. XMLDocument -> Byte [] ... làm cách nào để quay lại XMLDocument?
- 4. Loại kiểm tra trong C++
- 5. Cách tạo XmlDocument bằng XmlWriter trong .NET?
- 6. Kiểm tra phím 'Ctrl' trong C#
- 7. Phương pháp kiểm tra Inlining trong C#
- 8. Kiểm tra tệp có trong C
- 9. Làm cách nào để Deserialize XMLDocument thành đối tượng trong C#?
- 10. Kiểm tra tràn/tràn trong C++?
- 11. Kiểm tra tệp trống trong C++
- 12. Kiểm tra/Quản lý ACL trong C#
- 13. kiểm tra đơn vị trong C++
- 14. Cách kiểm tra đối tượng phụ thuộc COM trong C#
- 15. C# XmlDocument SelectNodes không hoạt động
- 16. kiểm tra loại enum trong C/gcc
- 17. kiểm tra mẫu C++ instantiation
- 18. C++ Kiểm tra số nguyên.
- 19. cách kiểm tra chuỗi bắt đầu bằng C++
- 20. Cách tạo tài liệu XML bằng cách sử dụng XmlDocument?
- 21. Thử nghiệm đơn vị C#, cách kiểm tra lớn hơn
- 22. Điểm kiểm tra spamassassin C# code
- 23. Chuyển đổi đối tượng XmlDocument thành đối tượng XmlNode - C#?
- 24. C# Unit Kiểm tra tham số StreamWriter
- 25. Kiểm tra loại có nguồn gốc (C++)
- 26. thêm phần tử gốc bằng cách sử dụng xmldocument trong C# .net
- 27. Cách sửa đổi tệp XML hiện có bằng XmlDocument và XmlNode trong C#
- 28. C++ 11 tính năng kiểm tra
- 29. Cách kiểm tra hàm tĩnh
- 30. Cách tính tổng kiểm tra
bạn đang nhớ đúng, tuyên bố không thể có bất kỳ thứ gì - bao gồm khoảng trắng - trước khoảng trắng, cho phép hiệu quả cao hơn trong cả biểu thức và thực thi. –