0

我有<body>来自 word 文档的多个标签。我使用开放的 xml sdk 来执行此操作。所以新文档应该用 openxml 生成

身体来自

WordprocessingDocument.Open("C:\Temp\Test.docx").MainDocumentPart.Document.Body.OuterXml

我的列表中有很多不同的身体。具有不同的价值。更改了 xml 中的一些文本。并将它们保存在一个新列表中。

现在必须在一个新的word文档中列出该列表。我怎样才能做到这一点?我试过altChunk。但是我的word文档总是损坏。

有人可以帮助我吗?

4

2 回答 2

0

如果您从另一个文档添加 yourbodylist 而不克隆,此函数将引发异常。我们必须使用CloneNode(deep:true)每个身体元素。

WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList); 这可能会导致异常。参考这篇文章:无法插入 OpenXmlElement “newChild”,因为它是树的一部分

CloneNode(true) 将创建元素的克隆,并且没有任何链接或对父级的引用。对于您的多体问题。获取每个主体的子元素并将其添加到新的 Body() 元素中。希望这可以帮助!

于 2014-01-10T18:28:33.923 回答
0

您可以使用 sdk 创建 WordDocument。我想这是

WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);

您还可以使用 SDK 工具获取无法使用的生成文档并查看它的 XML,或者只是将文档重命名为 .zip 扩展名,然后查看它为什么不起作用。

于 2010-09-16T14:18:56.413 回答