Unire più (XML) documenti word a 1 documento
-
26-09-2019 - |
Domanda
Non ho più tag <body>
da un documento word.
Lo faccio con l'SDK Open XML. Così il nuovo documento dovrebbe generata con OpenXML
Il corpo viene da
WordprocessingDocument.Open("C:\Temp\Test.docx").MainDocumentPart.Document.Body.OuterXml
Ho così diverso corpo di in un elenco. Con Al valori diversi. Cambiato del testo nel xml. E li ha salvati in una nuova lista.
Ora deve tale elenco in un nuovo documento di Word. Come posso fare ciò? Ho provato altChunk. Ma il mio documento di parola è sempre corrotta.
Qualcuno che mi può aiutare?
Soluzione
È possibile creare un WordDocument utilizzando l'SDK. Penso che sia
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
Si potrebbe anche prendere i documenti risultanti che non funzionano e un'occhiata di XML utilizzando lo strumento SDK o basta rinominare il doc per estensione .zip e vedere perché è doens't lavoro.
Altri suggerimenti
Questa funzione lancerà un'eccezione se si sta aggiungendo yourbodylist da un altro documento senza clonazione.
Dobbiamo usare CloneNode(deep:true)
per ogni elementi del corpo.
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
Questo potrebbe causare un'eccezione.
Fare riferimento questo post: Impossibile inserire l'OpenXmlElement "newChild" perché è parte di un albero
CloneNode (vero) creerà clone del elemento e senza link o riferimenti al genitore. E per il vostro multi problema corpo. ottenere gli elementi figlio di ciascun corpo e aggiungerlo a un nuovo elemento Corpo (). Spero che questo aiuti!