2

これは、私が尋ねた別の質問「Open XML SDK v2 で公開されていない機能はありますか?」と密接に関連しています。

現在、Open XML ファイルを手動で操作しています。最近、SDK を調べたところ、かなり低レベルに見えて驚きました。実際、自分で作成したヘルパー クラスとよく似ていました。私の質問は、SDK v2 では、XML ライブラリを使用して手動でコーディングするときに手動で行う必要があることを、正確に何を処理するのですか?

たとえば、PowerPoint スライドを削除すると、_rels ファイルに自動的にパッチが適用されますか?

4

2 に答える 2

3

Otaku のリンクに加えて、これは IO.Packaging 名前空間と SDK を使用して OpenXML ドキュメントをナビゲートする例 (下部近く) を示しています。

SDKのダウンロードページでMicrosoftが述べているように:

Open XML SDK 2.0 for Microsoft Office は、System.IO.Packaging API の上に構築され、Open XML ドキュメントを操作するための厳密に型指定されたパーツ クラスを提供します。また、SDK は .NET Framework 統合言語クエリ (LINQ) テクノロジを使用して、Open XML ドキュメントのパーツ内の XML コンテンツへの厳密に型指定されたオブジェクト アクセスを提供します。

Open XML SDK 2.0 は、Open XML パッケージおよびパッケージ内の基礎となる Open XML スキーマ要素を操作するタスクを簡素化します。Open XML アプリケーション プログラミング インターフェイス (API) は、開発者が Open XML パッケージで実行する多くの一般的なタスクをカプセル化するため、わずか数行のコードで複雑な操作を実行できます。

私はほぼ SDK のみを使用して作業を行ってきましたが、たとえば、次のコマンドを使用するだけで Word 文書から表を取得できると便利です。

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

(つまり、最初のテーブルだと仮定します)

SDK は、ドキュメントを操作するための一種の直感的なオブジェクト ベースの方法を提供することで、まさに目的を達成していると言えます。

リレーションシップに自動的にパッチを適用する限り、いいえ、そうはしません。そして、あなたが実際にどのように質問を述べているかを振り返ってみると、SDK2.0 は必ずしも余分な機能を提供するとは限りません (そして、私は Open XML にかなり慣れていないので、これは必ずしも福音ではありません) と言うかもしれません。同じ機能を実現するためのより便利な方法を提供します。たとえば、要素を削除するときは、これらの関係について知っておく必要がありますが、それらを処理する方がはるかに簡単です。

また、 SDKの上にさらに抽象化を追加するためのいくつかの取り組みがありました。

ですから、ここで少し取り乱しすぎたら申し訳ありません。しかし、私の簡単な答えは次のとおりです。余分な機能はおそらくありませんが、特定の機能の実現をはるかに簡単に処理できるようにする優れたレベルの抽象化があります。これまで手動で行っていた場合は、正確に何が抽象化されているかを理解するために、OPC を理解する必要があります。

于 2010-07-27T19:40:52.113 に答える
2

出発点として、Brian Jones と Zeyad Rajabi のブログを読んでください。

並べて比較したかどうかはわかりませんが、次の記事/ビデオでこの 2 つについて説明しています。

最後に、これは 2.0 の新機能です。1.0 とハンドコーディングのどちらにも、これらの利点はないと考えられます。

于 2010-07-25T16:01:13.890 に答える