マージ複数の(XML)ワード文書1つの文書に
-
26-09-2019 - |
質問
私は、Word文書から複数の<body>
タグを持っています。
私は、オープンXML SDKでこれを行います。だから、新しい文書がOPENXML
体のは、
から来ています WordprocessingDocument.Open("C:\Temp\Test.docx").MainDocumentPart.Document.Body.OuterXml
私はそうは異なる身体のリストを持っています。アル異なる値を持ちます。 XMLでは、いくつかのテキストを変更しました。そして、新しいリストでそれらを保存します。
これで新しいWord文書でそのリストなければなりません。どうやってやるの?私はaltChunkを試してみました。しかし、私のワード文書は常に壊れてます。
私を助けることができる誰か?
解決
あなたは、SDKを使用してWordDocumentを作成することができます。私はそれが
だと思いますWordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
また、SDKツールを使用して、それのXMLでの作業と見てない結果の文書を取るか、単に.zip拡張子にドキュメントの名前を変更し、それが仕事をdoens't理由を見ることができます。
他のヒント
この関数は、クローニングせずに例外をスローします。
私たちは、それぞれのボディ要素にCloneNode(deep:true)
を使用する必要があります。
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
これは、例外が発生することがあります。
この記事を参照してください:はOpenXmlElementを挿入することはできません「newChildで」それは木の
cloneNodeを(真の)要素のクローンを作成し、親へのリンクまたは参照なしになります。 そして、あなたのマルチボディ問題について。各ボディの子要素を取得し、新しいボディ()要素に追加します。 この情報がお役に立てば幸い!