2010-03-13 8 views
5

hay 3 IDOMImplementation disponibles en Delphi:¿Hay alguna mejor IDOMImplementation que no sea MSXML?

  1. MSXML
  2. Xerces XML
  3. v4 ADOM XML

MSXML es la IDOMImplementation defecto.

Mi prueba consiste en el tiempo necesario para cargar un archivo xml de 10 MB. Utilizo una unidad Delphi generada a partir de un XSD utilizando el enlace de datos XML para cargar el archivo xml. Esta unidad cuenta con 3 función común:

function Getmenubar(Doc: IXMLDocument): IXMLMenubarType; 
function Loadmenubar(const FileName: WideString): IXMLMenubarType; 
function Newmenubar: IXMLMenubarType; 

aprendo de la web que algunos comentarios que los gastos generales de MSXML es alta de que no lleva a cabo si se compara con otros analizador XML. Sin embargo, mi estudio muestra que MSXML es el mejor entre otros. Xerces segundo XML y XML ADOM v4 lo peor:

  1. MSXML - 0.6410 segundos
  2. xerces XML - 2.4220 segundos
  3. ADOM v4 XML - 67.50 segundos

también me encuentro con OmniXML que afirmo tener un rendimiento mucho mejor en comparación con MSXML, pero nunca lo utilicé con éxito con la unidad generada por el enlace de datos XML.

¿Hay algún otro proveedor que implemente IDOMImplementation of Delphi que funcione mucho mejor que MSXML? Estoy utilizando Delphi 2010 y Windows 7.

+2

¿Estás seguro de que necesitas un analizador DOM? Los analizadores SAX son más rápidos. –

+0

No sé mucho sobre XML, pero sí conozco la informática, y lo sé como una regla general: si hay una versión de Microsoft y alternativas, al menos una de las alternativas * será * mejor. –

+0

¿Por qué OmniXML no funciona para usted? Lo uso en muchos productos con gran éxito. Y sí, es mejor que MSXML. – Runner

Respuesta

1

Hay OmniXML que es más rápido que MSXML y es OpenSource. Es MSXML complicado, por lo que el cambio es muy fácil. Evento los nombres de interfaz son iguales. Luego está SimpleStorage que expande las interfaces OmniXML, por lo que trabajar con XML es muy fácil. Mire las demostraciones y las publicaciones de blog sobre el uso de SimpleStorage. Solo tenga en cuenta que las operaciones más complejas en SimpleStorage sacrifican un poco de la velocidad para facilitar el uso y la potencia.

Cuestiones relacionadas