OpenXML SDL 2.0を使用してWord文書内の特定の要素のリストを作成しようとしています。私はテンプレートを開いて、使用可能なドキュメントパーツのリストとして使用するすべての "w:sdt"要素のWordテンプレートをスキャンします。私はこのリストをユーザに表示して、希望の部品/要素を選択して、テンプレート文書から新しいバージョン/文書のコピーを構築することができます。OpenXML SDK 2.0 XMLパーツと要素を列挙します
私のリストは、 "w:alias" "val"や "w:tag" "val"だけでなく、DocumentBuilderクラスで使用される順番の要素番号を取得する必要があります。ユーザーに選択オプションを表示するために使用されます。
ユーザが使用可能なテンプレートのXMLパーツを見直して選択したら、DocumentBuilderを使用して識別されたパーツを新しいドキュメントに順次番号で追加します。
私はDocumentBuilderを使用して、文書要素を明示的に識別し、新しい文書を構築するのにシーケンシャルな番号で成功しました。これは美しく動作します。
私は再帰を使用してテンプレート文書を繰り返し、修飾された要素をLISTに追加する必要があることは知っています。私は、まだ十分に精通していないだけでなく、C#またはOpenXML SDKを使用して、目的のXML部品/要素をターゲットとするテンプレート文書を再帰的に呼び出す最も洗練された方法を特定します。
OpenXMLドキュメントの部品/要素のリストを列挙するための適切な例を指摘できますか?
...私は研究しています.Brian Jones&Zeyadのブログ記事「Open XML SDKを使用して大規模なExcelファイルを解析して読む」で提示されたSAX-Likeアプローチを検討する必要があります。これにより、OpenXMLReaderを使用してXMLパーツまたはエレメントをトラバースすることができます。私はこれをどうやって行うのかがはっきりしていないが、行く方法だと思う。 –