Có 3 IDOMImplementation sẵn trong Delphi:Có IDOMImplementation nào tốt hơn ngoài MSXML không?
- MSXML
- Xerces XML
- ADOM XML v4
MSXML là IDOMImplementation mặc định.
Thử nghiệm của tôi được tính thời gian cần tải tệp xml 10MB. Tôi sử dụng một đơn vị Delphi được tạo ra từ một XSD sử dụng liên kết dữ liệu XML để tải tệp xml. Đơn vị này có 3 chức năng phổ biến:
function Getmenubar(Doc: IXMLDocument): IXMLMenubarType;
function Loadmenubar(const FileName: WideString): IXMLMenubarType;
function Newmenubar: IXMLMenubarType;
Tôi tìm hiểu từ web rằng một số nhận xét rằng phí của MSXML cao mà nó không thực hiện nếu so sánh với trình phân tích cú pháp XML khác. Tuy nhiên, nghiên cứu của tôi cho thấy rằng MSXML là tốt nhất trong số những người khác. Xerces 2nd XML và ADOM XML v4 điều tồi tệ nhất:
- MSXML - 0,6410 giây
- Xerces XML - 2,4220 giây
- ADOM XML v4 - 67.50 giây
Tôi cũng đi qua với OmniXML rằng tuyên bố có hiệu suất tốt hơn nhiều so với MSXML nhưng tôi không bao giờ thành công khi sử dụng nó với đơn vị được tạo ra bởi ràng buộc dữ liệu XML.
Có nhà cung cấp nào khác triển khai IDOMImplementation của Delphi hoạt động tốt hơn MSXML không? Tôi đang sử dụng Delphi 2010 và Windows 7.
Bạn có chắc chắn cần một trình phân tích cú pháp DOM không? Trình phân tích cú pháp SAX nhanh hơn. –
Tôi không biết nhiều về XML, nhưng tôi biết tính toán, và tôi biết điều này như một quy tắc chung: Nếu có phiên bản Microsoft và các lựa chọn thay thế, ít nhất một trong các lựa chọn thay thế * sẽ * tốt hơn. –
Tại sao OmniXML không hoạt động cho bạn? Tôi sử dụng nó trong rất nhiều sản phẩm với thành công lớn. Và có nó là fater hơn MSXML. – Runner