【发布时间】:2011-01-01 02:00:49
【问题描述】:
我正在尝试使用 OpenXML SDL 2.0 在 Word 文档中构建特定元素的列表。我将打开一个模板并扫描 Word 模板中的所有“w:sdt”元素,这些元素将用作可用文档部分的列表。我将向用户显示此列表,以便他们可以选择所需的部分/元素,以从模板文档构建文档的新版本/副本。
所以我的列表需要获取顺序元素编号(这由 DocumentBuilder 类使用)以及“w:alias”“val”或者可能会使用的“w:tag”“val”向用户显示选择选项。
一旦用户查看了可用的模板 XML 部分/元素并做出选择,我将使用 DocumentBuilder 按序号将标识的部分添加到新文档中。
我已成功使用 DocumentBuilder 按序号显式识别文档元素以构建新文档。这很好用。
我知道我需要使用递归来遍历模板文档并将合格的元素添加到列表中。我只是对 C# 或 OpenXML SDK 还不够精通,无法确定通过针对所需 XML 部分/元素的模板文档进行递归的最优雅方式。
谁能指出一个适用的示例,用于枚举 OpenXML 文档中的部分/元素列表?
【问题讨论】:
-
...所以我正在研究,我想我应该研究一下 Brian Jones 和 Zeyad 的博客文章“使用 Open XML SDK 解析和读取大型 Excel 文件”中介绍的类似 SAX 的方法.这允许使用 OpenXMLReader 遍历 XML 部件或元素。我还不清楚具体如何做到这一点,但它似乎是要走的路。
标签: xml-serialization openxml-sdk