我想将Word 2007或更高版本的docx文件上传到我的Web服务器,并将目录转换为简单的xml结构。使用传统的VBA在桌面上执行此操作似乎很容易。查看用于创建docx文件的WordprocessingML XML数据令人困惑。有没有一种方法(没有COM)以更多的面向对象的方式浏览文档?如何查询ASP.NET应用程序中的Word docx?
5
A
回答
4
我强烈建议您查看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);
}
0
查看XML Documents and Data作为起点。特别是,你会想使用LINQ to XML。
通常,您不想在.NET应用程序中使用COM。
3
这是一篇关于使用LINQ to XML查询Open XML WordprocessingML文档的博文。使用代码,您可以按如下编写查询:
using (WordprocessingDocument doc =
WordprocessingDocument.Open(filename, false))
{
foreach (var p in doc.MainDocumentPart.Paragraphs())
{
Console.WriteLine("Style: {0} Text: >{1}<",
p.StyleName.PadRight(16), p.Text);
foreach (var c in p.Comments())
Console.WriteLine(
" Comment Author:{0} Text:>{1}<",
c.Author, c.Text);
}
}
博客文章:Open XML SDK and LINQ to XML
-Eric
相关问题
- 1. 如何在应用程序中创建一个类似Word的文档(.docx)?
- 2. 如何在asp.net应用程序的客户端的Word中创建和打开一个docx?
- 3. 如何在asp.net应用程序中打开word文档
- 4. 查询索引与asp.net应用程序
- 5. 从ASP.NET Web应用程序查询Quickbooks
- 6. 将word(doc,docx)转换为pdf在c#web应用程序
- 7. 如何在ASP.NET中生成Word文档(doc,docx)?
- 8. 如何emberd微软word到asp.net web应用程序
- 9. asp.net +的C#提示编辑DOCX我的应用程序内
- 10. python -docx从word docx中提取表格
- 11. word文档,如何在asp.net应用程序中编辑正确的方式
- 12. Android应用程序中的SQLite查询
- 13. C#程序打开Word应用程序但不是特定的Word文档
- 14. 从作为Windows服务运行的Java应用程序打印word文档(.docx)
- 15. 如何以编程方式确定Word应用程序冻结
- 16. 在ASP.NET Web应用程序中隐藏查询字符串
- 17. 从ASP.NET应用程序中计数SQLClient数据库查询
- 18. 如何在ASP.net Web窗体应用程序中处理False/Empty查询?
- 19. 从ASP.NET应用程序查询远程数据存储
- 20. 如何将文件嵌入word docx?
- 21. 通过Java应用程序管理MS Word中的表格
- 22. 如何在Laravel控制器中使用Word Com应用程序?
- 23. 使用Microsoft Word在C#中打开* .docx
- 24. Android应用程序查看文档文件('。docx','.pdf'...)
- 25. 如何使用DocX在Word文档中插入换行符?
- 26. 在c sharp应用程序中打开Word文档
- 27. 在Windows窗体应用程序中执行Word拼写检查
- 28. 如何查找在ASP.NET应用程序的路径
- 29. PhoneGap的应用程序查询
- 30. 关于iPod应用程序的查询
我读的Open XML自己的帖子 - 伟大的工作! – 2012-08-12 00:37:51