2010-07-25 1 views
2

Ceci est étroitement liée à une autre question que j'ai posée: Is there functionality that is NOT exposed in the Open XML SDK v2?De quoi le logiciel Open XML SDK v2 s'occupe-t-il exactement que vous auriez à faire manuellement lors du codage à la main avec une bibliothèque XML?

Je travaille actuellement avec des fichiers Open XML manuellement. J'ai récemment regardé le SDK et j'ai été surpris de trouver qu'il semblait assez bas, assez similaire aux classes d'aide que j'ai moi-même créées. Ma question est de savoir de quoi s'occupe le SDK v2 que vous auriez à faire manuellement lors du codage à la main avec une bibliothèque XML? Par exemple, corrige-t-il automatiquement les fichiers _rels lors de la suppression d'une diapositive PowerPoint?

+0

J'ai reformulé la question car c'était un peu ambigu. Il me semblait que je demandais si le SDK ajoutait des fonctionnalités supplémentaires à XML. – Willbill

Répondre

3

En plus des liens d'Otaku, this montre un exemple (près du bas) de navigation dans un document OpenXML en utilisant l'espace de noms IO.Packaging par rapport au SDK.

Tout comme Microsoft précise sur le download page for the SDK:

Le SDK Open XML 2.0 pour Microsoft Office est construit au-dessus de l'API de System.IO.Packaging et fournit fortement typé classes de partie à manipuler Ouvrir des documents XML. Le SDK utilise également le .NET Framework Langue-Integrated Query (LINQ) technologie pour fournir fortement typé l'accès aux objets au contenu XML à l'intérieur des parties de documents Open XML .

L'Open XML SDK 2.0 simplifie la tâche de manipuler packages Open XML et le schéma XML ouvert sous-jacents éléments dans un ensemble. L'interface de programmation d'applications XML Ouvrir (API) résume bien les tâches courantes que les développeurs effectuent sur Open XML packages, vous pouvez effectuer opérations complexes avec seulement quelques lignes de code .

J'ai travaillé à peu près uniquement avec le SDK, mais par exemple, il est agréable d'être en mesure de saisir une table à partir d'un document Word en utilisant simplement:

Table table = wordprocessingDocument.MainDocumentPart.Document.Body.Elements<Table>().First(); 

(je veux dire, en supposant que c'est la première table)

Je dirais que le SDK fait exactement ce qu'il cherche à faire en fournissant une sorte de manière intuitive basée sur les objets de travailler avec des documents.

En ce qui concerne la correction automatique des relations - non, ce n'est pas le cas. Et en regardant en arrière comment vous énoncez la question, je suppose que je pourrais même dire que (et je suis assez nouveau à Open XML donc ce n'est pas gospel par des moyens) le SDK2.0 n'offre pas forcément de fonctionnalités supplémentaires , autant qu'il offre un moyen plus pratique d'atteindre la même fonctionnalité. Par exemple, vous devez toujours connaître ces relations lorsque vous supprimez un élément, mais il est beaucoup plus facile de les gérer.

De plus, des efforts ont été déployés sur le SDK pour ajouter encore plus d'abstraction - voir, par exemple, ExtremeML (bibliothèque Excel uniquement.) Je ne l'ai jamais utilisée, mais je pense qu'elle s'intéresse aux correctifs).

Donc, je suis désolé si j'ai un peu trop bavardé ici. Mais je suppose que ma réponse courte est: il n'y a probablement pas de fonctionnalité supplémentaire, mais il y a un bon niveau d'abstraction qui rend la réalisation de certaines fonctionnalités beaucoup plus facile à gérer - et si vous l'avez fait à la main jusqu'à maintenant, vous aurez Avoir la compréhension de l'OPC pour comprendre ce qui est exactement résumé.

2

Comme point de départ, lisez this du blog de Brian Jones & Zeyad Rajabi.

Je ne sais pas d'une comparaison côte à côte, mais les articles/vidéos suivantes ne discutent les deux:

Enfin, pour this is a What's New 2.0 - on peut supposer que 1,0 ou codage manuel qui ne sont point ces avantages.

Questions connexes