在OpenXML中获取表元素内部和外部的元素

时间:2017-03-09 17:02:41

标签: c# ms-word openxml

如何区分表格内的元素和外部的元素?另外,我如何验证没有内容控件名称的表?

1 个答案:

答案 0 :(得分:1)

我建议你使用Linq To XML。在MSDN上有一个example console application that displays all paragraph text的Word文档。

在底部附近是评论 - 查找文档中的所有段落 - 这是Linq To XML部分,用于从Word文档正文中提取段落。

// Find all paragraphs in the document.  
    var paragraphs =  
        from para in xDoc  
                     .Root  
                     .Element(w + "body")  
                     .Descendants(w + "p")  ...

而不是"p",您需要使用"tbl"。这是如何从Document收集所有表以验证其内容。要检查每一行和每列将涉及更多代码来循环遍历表数据,但这应该可以帮助您入门。

如果安装Open XML Productivity Tool,则可以查看任何Open XML文档的所有xml。下面的屏幕显示了包含表格的Word文档的工具。

[enter image description here]

左侧窗格显示Word文档中典型表的结构。右边是Open XML Table规范。当您将liq编写为xml代码以读取和验证表中的数据时,该工具可帮助您了解要阅读的内容和忽略的内容。

如果你有一个特定的表格格式,你需要为你的项目阅读并且你被困住了,把你在另一个问题中尝试的表格和代码发布。否则,根据您的原始问题,此答案应足以帮助您开始解决问题。