加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.NET应用程序中查询Word docx?

发布时间:2020-12-16 07:07:53 所属栏目:asp.Net 来源:网络整理
导读:我想将Word 2007或更高版本的docx文件上传到我的Web服务器,并将目录转换为简单的xml结构.使用传统VBA在桌面上执行此操作似乎很容易.查看用于创建docx文件的WordprocessingML XML数据令人困惑.有没有一种方法(没有COM)以更加面向对象的方式导航文档? 解决方
我想将Word 2007或更高版本的docx文件上传到我的Web服务器,并将目录转换为简单的xml结构.使用传统VBA在桌面上执行此操作似乎很容易.查看用于创建docx文件的WordprocessingML XML数据令人困惑.有没有一种方法(没有COM)以更加面向对象的方式导航文档?

解决方法

我强烈建议您查看 Open XML SDK 2.0.这是一个CTP,但我发现它在操作xmlx文件时非常有用,而根本不需要处理COM.文档有点粗略,但要找的关键是DocumentFormat.OpenXml.Packaging.WordprocessingDocument类.如果将扩展名重命名为.zip并在那里挖掘XML文件,则可以拆分.docx文档.从这样做,它看起来像一个目录包含在“结构化文档”标签中,并且标题之类的东西都在那里的超链接中.稍微放了一下,我发现这样的东西应该起作用(或者至少给你一个起点).

WordprocessingDocument wordDoc = WordprocessingDocument.Open(Filename,false);
SdtBlock contents = wordDoc.MainDocumentPart.Document.Descendants<SdtBlock>().First();
List<string> contentList = new List<string>();
foreach (Hyperlink section in contents.Descendants<Hyperlink>())
{
    contentList.Add(section.Descendants<Text>().First().Text);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读