我知道如何使用 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/