通过样式块解析Open XML文档

时间:2010-04-20 14:04:47

标签: c# openxml docx

我正在使用docx文档,我需要根据标题为“标题1”样式的标题解析文档。所以如果我有这样的文档(标记是伪代码):

<doc>
<title style>Doc Title</title style>
<heading1>First Section</heading1>
...
<heading2>Second Section</heading2>
...
<heading3>Third Section</heading3>
...
</doc>

我想将其分成带有四个部分的文档,第一部分是第一部分之前的内容。我认为一旦你熟悉Open XML,这可能很简单,但我不是。

TIA。

1 个答案:

答案 0 :(得分:2)

哇......整天都没有关于这个问题的任何意见。好吧,我想通了,以为我会分享财富。我无法直接共享代码,但它只是三个嵌套循环,一个循环遍历段落,然后段落运行,然后是样式。每个XPath都是:

.//w:p
./w:pPr
./w:pStyle

一旦找到具有您喜欢的样式的运行,您将弹出一个级别以获得第一次运行,其中将包含样式化文本。从那以后,它只是Comp Sci 101的东西。我认为真正的突破是甚至没有试图搞乱Open Xml SDK(除了IO Packaging之外),直接进行XML操作。