簡體   English   中英

合並多個 <Body> (xml)Word文檔到1個文檔

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM