openxml - 使用 MainDocumentPart.GetXDocument 和 MainDocumentPart.Document 在概念上有什么区别?

标签 openxml

我正在使用 OpenXML 和 PowerTools for Open XML处理 MSWord 文档以进行自定义转换(到 HTML)和就地修改(例如创建样式目录)。

我无法理解何时使用 MainDocumentPart.GetXDocument XML 导航方法(由 PowerTools 使用)和 MainDocumentPart.Document(似乎是官方示例)。

我在 XDocument 上使用了 LINQ,但您似乎可以同时使用它。 MainDocumentPart.Document 方法似乎更加类型化。

我是否缺少某种强烈的概念差异?我可以在其中做某事但不能在另一件事上做的事情?固有的局限性?

最佳答案

使用 MainDocumentPart.GetXDocument XML 基本上与执行 XDocument.Load(MainDocumentPart.GetStream()) 相同,您将返回一个 XDocument 类型,然后您可以使用命名空间和节点名称遍历该类型。 MainDocumentPart.Document 为您提供了一个强类型对象,您可以使用该对象具有适当的属性并说明对象位置的差异。后者的优点在于它具有内置的枚举和类型检查功能,因此您不会破坏文档。我是类型化模型的粉丝,但请记住,CustomXML 包的某些部分是此对象模型中未涵盖的示例,您必须为此使用 XDocument。

关于openxml - 使用 MainDocumentPart.GetXDocument 和 MainDocumentPart.Document 在概念上有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631266/

相关文章:

c# - Open XML SDK 文字处理 表格单元格中的垂直方向

excel - Office Open XML 中的 <c t ="str"> 和 <c><is> 之间有什么区别?

c# - 与文档相反,OpenXML 无助于读取大型 Excel 文件

c# - 以编程方式计算 DOCX 文档中具有特定样式的字符/单词/段落的数量

c# - 使用 open xml 将嵌入图表添加到 word 文档

c# - 添加数据 C# 时打开 XML 不保存

c# - OpenXML - 将日期写入 Excel 电子表格会导致内容不可读

java - SXSSFWorkbook.write to FileOutputStream 写入大文件

c# - 替换 OpenXML 中的内容控件

c# - OpenXML 读取 CustomXMLPart