我有一个word文档中的多个<body>
标记。
我使用open xml sdk执行此操作。所以新文档应该用openxml
身体来自
WordprocessingDocument.Open("C:\Temp\Test.docx").MainDocumentPart.Document.Body.OuterXml
我在列表中有如此不同的身体。具有不同的价值观。更改了xml中的一些文本。并将它们保存在新列表中。
现在必须在新word文档中列出该列表。我怎样才能做到这一点?我试过altChunk。但我的word文档总是腐败。
有人可以帮助我吗?
答案 0 :(得分:0)
您可以使用sdk创建WordDocument。我认为这是
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
你也可以使用SDK工具获取不起作用的结果文档并查看它的XML,或者只是将doc重命名为.zip扩展名,看看为什么它不起作用。
答案 1 :(得分:0)
如果您在没有克隆的情况下从其他文档添加yourbodylist,则此函数将抛出异常。
我们必须为每个body元素使用CloneNode(deep:true)
。
WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);
这可能会导致异常。
请参阅此帖:Cannot insert the OpenXmlElement "newChild" because it is part of a tree
CloneNode(true)将创建元素的克隆,而不包含任何对父元素的链接或引用。 并为您的多身体问题。获取每个body的子元素并将其添加到新的Body()元素中。 希望这有帮助!