我有一个docx格式的word文档,其中包含重复格式模式的数据。
我想从重复集中获取每个数据并上传到SQL表中的一行。
此处的数据样本:
Question No : 1
How is LINQ to SQL different from Entities?
A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1
Answer : D
Explanations :
Some explanation.
Question No : 2
How is NVARCHAR different from VARCHAR
A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1
Answer : D
Explanations :
Some explanation.
我可以想到几种方法:
- 使用Office API将文档作为docx阅读
- 将文档保存为Word中的XML并解析XML [转换后的XML文档似乎没有结构/架构]
- 将文档保存为Word中的HTML并解析HTML [DOM结构不完整]
你在上面提到哪些以及为什么?是否有任何工具可以帮助转换文档并上传到SQL表或访问数据库?
谢谢!
答案 0 :(得分:3)
DOCX只是XML文件的ZIP目录树。使用WinZip或7-Zip将其解压缩到一组子目录。将这些XML文件上载到SQL Server,添加其文件名和文件夹路径。 使用SQL Server XML方法(.node等)将它们粉碎成您想要的关系形式。
请注意,它们具有XML模式和结构。
答案 1 :(得分:0)
如果您不经常处理这些文件,那么我会说将其保存为其他格式(更容易通过SQL处理) - 甚至可能是纯文本格式。 如果要定期执行此过程(将此文件导入到DB) - 请进行本机DOCX处理,而不将其转换为中间格式。 快速Google搜索显示,有些组件可以将docx格式读入数据库(例如http://www.brothersoft.com/code-library-for-.net-(sql-server-msde)-22050.html)