Question

Est-il sûr d'utiliser Open XML au lieu de MSXML comme fournisseur DOM avec l'interface IXMLDocument de Delphi?

Y at-il des limites connues dans les fonctionnalités de base que je devrais être au courant?

Et comment les implémentations Open XML et Xerces diffèrent? (Xerces a besoin de bibliothèques supplémentaires, alors que Open XML semble être inclus dans l'exécutable IIRC)

Était-ce utile?

La solution

Cela dépend de ce que vous avez besoin. MSXML est très complète des fonctionnalités et prend en charge des choses comme le schéma et XPath entre autres. IIRC, OpenXML ne fournit que le soutien DTD et n'a pas obtenu beaucoup TLC au cours des dernières années. Je respecte beaucoup le travail de Dieter Köhler depuis qu'il a été un pionnier dans les premiers jours de Delphi et XML. Je ne sais pas si je le recommande comme la meilleure solution aujourd'hui.

Si vous avez besoin IXMLDocument OpenXML est certainement une option, mais je tiendrais avec MSXML à moins que vous avez des préoccupations spécifiques au sujet de MSXML (par exemple besoin de fonctionnalités d'une version spécifique). Si vous êtes ouvert à d'autres bibliothèques, voici une liste non exhaustive d'autres options que vous pouvez envisager:

  • DIXML - Commercial - actuel et très complète des fonctionnalités (Www.yunqa.de/delphi/doku.php/products/xml/index)

  • XMLPartner - Open Source - Je ne sais pas l'état actuel, consultez CG NGs mises à jour récentes (sourceforge.net/projects/tpxmlpartner)

  • OmniXML - Open Source, une bonne conception, API similaire à IXMLDocument IIRC (Www.omnixml.com)

  • NativeXML - Commercial, non-validateur, très rapide, non standard, mais API facile (www.href.com/nativexml) Remarque ; NativeXML est par Nils Haeck du site de SimDesign.nl Nils est en baisse à l'histoire longue moment..a derrière tout cela.

  • FWIW - J'ai personnellement utilisé NativeXML et OmniXML et n'ont pas     plaintes. J'ai cherché à DIXML car il a une très     impressionnant ensemble de fonctionnalités que j'ai besoin pour un projet spécifique.

David

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top