c# - 将 outerXml 转换为 OpenXmlElement

标签 c# openxml wordprocessingml

我知道如何使用 OpenXmlElement.OuterXml 函数将 OpenXmlElement 转换为外部 xml,但是是否可以在不知道它将成为哪种 OpenXmlElement 的情况下执行相反的操作?

例如,我有一个表、段落和运行的 outerXml。那么是否可以做类似的事情:

new OpenXmlElement(unknownXml)

我看到 OpenXmlElement 的构造函数受到保护。

我不要求任何肮脏的 switch 语句或类似的东西。

---------------- 编辑----------------

我想出了我自己的解决方案。我已经创建了一个库,它可以在不使用脏 switch 语句的情况下进行转换:-)

图书馆可以在这里找到:https://github.com/LucBos/OpenXmlFactory

这里描述了库的用法:http://www.lucbos.net/2012/01/reconstructing-openxml-element-from-xml.html

最佳答案

您可以通过将 XElement 中的流读取到新的 OpenXmlElement 中来创建通用的 OpenXmlElement。但是,afik 没有一种干净的方法来获得适当的类型。

关于c# - 将 outerXml 转换为 OpenXmlElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7926370/

相关文章:

java - 如何从 docx4j 运行中简洁地提取文本?

c# - 删除 Word 文档中表格中的单元格边框 (OpenXml.Wordprocessing)

c# - 如何接受任何类型的泛型参数?

c# - 通过 C# (Microsoft.AnalysisServices) 进行的 SSAS 处理比 SSMS 慢得多

c# - StreamReader 与 MemoryStream.ToArray

openxml - 使用 Open XML SDK 修复 Word 中的单元格宽度

c# - 以编程方式使元素可见

c# - 如何在 ASP.net 中使用 Open XML 创建多级有序列表?

c# - OpenXML库保存excel文件

c# - 使用 OpenXML SDK 2.0 对来自 tableCell 的文本进行对齐