[英]Merge multiple <Body> (xml) word documents to 1 document
我有一個Word文檔中的多個<body>
標記。 我使用打開的XML SDK執行此操作。 因此,新文檔應使用openxml生成
身體來自
WordprocessingDocument.Open("C:\\Temp\\Test.docx").MainDocumentPart.Document.Body.OuterXml
我的清單上有這么不同的身體。 具有不同的值。 更改了xml中的一些文本。 並將它們保存在新列表中。
現在必須在新的Word文檔中列出該列表。 我怎樣才能做到這一點? 我嘗試過altChunk。 但是我的Word文檔總是損壞的。
有人可以幫助我嗎?
如果要從另一個文檔中添加您的bodylist而不進行克隆,則此函數將引發異常。 我們必須對每個主體元素使用CloneNode(deep:true)
。
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
這可能會導致異常。 請參閱這篇文章: 無法插入OpenXmlElement“ newChild”,因為它是樹的一部分
CloneNode(true)將創建元素的克隆,並且沒有指向父對象的任何鏈接或引用。 而對於您的多身問題。 獲取每個正文的子元素並將其添加到新的Body()元素。 希望這可以幫助!
您可以使用sdk創建WordDocument。 我想這是
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
您也可以使用SDK工具獲取不起作用的結果文檔,並查看它的XML,或者只是將文檔重命名為.zip擴展名,然后查看為什么它不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.