2009-08-17 2 views
0

У меня есть документ с текстом в формате docx с данными в шаблоне повторяющегося формата.Преобразование docx и загрузка в таблицу sql

Я хотел бы взять все данные из повторяющегося набора и загрузить в строку таблицы 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. 

я мог придумать несколько подходов:
- Прочитайте документ как DOCX с помощью Управления API
- Сохранить документ как XML из Слова и синтаксического анализа XML [ преобразованный XML-документ, похоже, не имеет структуры/схемы]
- Сохраните документ как HTML из Word и проанализируйте HTML. [Структура DOM не сформирована]

Какой из выше вы предложили бы и почему? Существуют ли какие-либо инструменты для преобразования документа и загрузки в таблицу SQL или доступ к БД?

Спасибо!

ответ

2

DOCX - это всего лишь дерево каталогов ZIP файлов XML. Используйте WinZip или 7-Zip, чтобы извлечь его в набор подкаталогов. Загрузите эти XML-файлы в SQL Server, добавив их имя файла и путь к папке. использовать XML-методы SQL Server (.node и т. Д.), Чтобы отбросить их в реляционную форму, которую вы хотите.

Обратите внимание, что они имеют XML-схемы и структуры.

0

Если вы собираетесь обрабатывать эти файлы не очень часто, я бы сказал, что сохраните его в другом формате (проще обрабатывать SQL) - возможно, даже в текстовом формате. Если этот процесс (импортирования этого файла в БД) будет выполняться на регулярной основе - перейдите для собственной обработки DOCX, не преобразовывая его в промежуточный формат. Быстрый поиск в Google показал, что имеются доступные компоненты, которые могут считывать формат docx в базу данных (например, http://www.brothersoft.com/code-library-for-.net-(sql-server-msde)-22050.html)