Tôi có tệp XML 1 GB và muốn phân tích cú pháp đó. Nếu tôi sử dụng XML Textreader hoặc XMLDocument, kết quả là rất chậm và một số lần nó bị treo ...Cách tốt nhất để phân tích cú pháp XML lớn (dung lượng 1GB) trong C# là gì?
Trả lời
Bạn sẽ phải triển khai logic tùy chỉnh bằng cách sử dụng xmlreader. xmlreader không nạp toàn bộ XML vào bộ nhớ trước khi sử dụng nó, có nghĩa là bạn có thể đọc nó từ một luồng và xử lý nó như vậy.
XMLTextreader không được phép treo vì luồng của nó dựa trên và chỉ hoạt động trên các phần dữ liệu.
Nếu bị treo, có thể bạn đang làm điều gì đó sai khi tải tệp.
Nó có thể bị treo do các ràng buộc tài nguyên ở cấp hệ điều hành hoặc tệp hệ thống. –
XmlDocument không khả thi trong trường hợp này vì nó sẽ cố gắng hút gigabyte đó vào bộ nhớ chính. Tôi ngạc nhiên khi bạn thấy XmlTextReader quá chậm. Bạn đã thử một cái gì đó như sau?
using (XmlTextReader rdr = new XmlTextReader("MyBigFile.txt"))
{
// use rdr to advance through the document.
}
Tôi không quen thuộc với chủ đề này, nhưng các lớp XmlReader phải hoạt động tốt cho vấn đề cụ thể của bạn. Họ, sau khi tất cả, tối ưu hóa cho chính xác điều này.
Tôi chỉ muốn sao lưu tất cả những người thúc đẩy XmlReader với một so sánh hiệu suất mà tôi tìm thấy:
http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html
- 1. Cách nhanh nhất để phân tích cú pháp tài liệu XML lớn bằng Python là gì?
- 2. Phân tích cú pháp các tệp XML lớn trong PHP
- 3. Cách tốt nhất để phân tích cú pháp trang web trong Ruby là gì?
- 4. Trình phân tích cú pháp XML tốt nhất cho PHP
- 5. Tạo trình phân tích cú pháp Brainfuck, phương pháp phân tích cú pháp vòng lặp tốt nhất là gì?
- 6. Cách hiệu quả nhất để phân tích cú pháp Xml
- 7. Cách tốt nhất để phân tích cú pháp dòng lệnh args trong Bash là gì?
- 8. Cách tốt nhất để phân tích cú pháp tệp Excel trong Perl là gì?
- 9. Cách dễ nhất để phân tích cú pháp tệp INI trong C++ là gì?
- 10. Cách tốt nhất/nhanh nhất để viết trình phân tích cú pháp trong C#
- 11. C# Phân tích cú pháp tệp XML
- 12. Cách tốt nhất để phân tích cú pháp tài liệu Microsoft Office và PDF là gì?
- 13. Trình phân tích cú pháp tốt nhất cho C#?
- 14. Cách tốt nhất để đọc và phân tích cú pháp tệp văn bản lớn qua mạng là gì?
- 15. Cách tốt nhất để tái sử dụng trình phân tích cú pháp Lua là gì?
- 16. Phân tích cú pháp XML PHP
- 17. Cách tốt nhất để phân tích một thuộc tính boolean XML (trong .NET) là gì?
- 18. Trình phân tích cú pháp XML nhanh nhất có sẵn cho Delphi là gì?
- 19. Phân tích cú pháp XML trong VBNet
- 20. sử dụng lxml và iterparse() để phân tích tệp XML lớn (+ - 1Gb)
- 21. Cách tiếp cận tốt nhất để phân tích cú pháp XML trên iPhone
- 22. Phân tích cú pháp XML trong Cocoa
- 23. F # Phân tích cú pháp XML
- 24. Phân tích cú pháp là gì?
- 25. Cách tốt nhất để phân tích chuỗi là gì?
- 26. trình phân tích cú pháp html tốt nhất cho java là gì?
- 27. Cách nhanh nhất để phân tích cú pháp một dòng trong Delphi là gì?
- 28. Phân tích cú pháp tài liệu XML trong C#
- 29. Phân tích cú pháp là gì?
- 30. Trình phân tích cú pháp YAML tốt nhất trong elisp là gì?
những gì tốt không mà không biết xấu hổ url cắm làm gì? – grapefrukt
Không có gì, đặc biệt là bây giờ nó đã biến mất. –