将 externalXml 转换为 OpenXmlElement
我知道如何使用 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
I know how to convert an OpenXmlElement to outer xml by using the OpenXmlElement.OuterXml function but is it possible to do the opposite without knowing what kind of OpenXmlElement it's going to be?
For example I have the outerXml of a table, paragraph and run. Then is it possible to do something like:
new OpenXmlElement(unknownXml)
I saw the constructor of the OpenXmlElement is kept protected.
I'm not asking for any dirty switch statements or something like that.
---------------- Edit ------------------
I have come up with my own solution. I've created a library that does the conversion without using a dirty switch statement :-)
The library can be found here: https://github.com/LucBos/OpenXmlFactory
The usage of the library is described here: http://www.lucbos.net/2012/01/reconstructing-openxml-element-from-xml.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过将流从
XElement
读取到新的OpenXmlElement
来创建通用OpenXmlElement
。然而,据我所知,没有一种干净的方法来获得适当的类型。You can make a generic
OpenXmlElement
by reading a stream from anXElement
into a newOpenXmlElement
. However, afik there isn't a clean way to get the appropriate type.