Итак, у меня есть этот документ Word, в котором есть целая куча таблиц, некоторые из которых довольно длинные. В некоторых случаях он охватывает много-много страниц. Мне нужно программно преобразовать эту вещь в XML.
Сначала мне сказали, что мы можем просто скопировать вставку в Excel и сохранить ее как CSV, а затем я мог бы конвертировать оттуда, что было бы довольно легко. Однако из-за форматирования некоторых полей потребуется выполнить дополнительные манипуляции с электронной таблицей после ее копирования в Excel, чтобы она выглядела правильно и чтобы CSV получался корректным.
Я должен заметить, что это дополнение для старого приложения, написанного на VB.Net 1.1 (смутное лицо) :(. Однако я обсуждаю только написание отдельного инструмента командной строки в C # 3.5, если это ' Я сделаю это проще. Похоже, в C # есть кое-что из взаимодействия с Word, которое, я сомневаюсь, было в платформе 1.1, но я не исследовал это слишком далеко.
Итак, я просто ищу лучший / самый быстрый способ, которым это может быть достигнуто. Не имеет большого значения, как это достигается, пока это достигается, и это делается программно. Некоторые шаги можно выполнить вручную, если они не слишком жесткие. Например, если сначала получить его в каком-либо другом формате, это сэкономит кучу кода и не будет слишком сложным, что было бы хорошо.
Кто-нибудь делал что-то подобное раньше? Есть идеи?
Обновление
Итак, вот пример того, что мне нужно сделать.
У меня есть слово doc, которое выглядит примерно так ...
PROTOCOL: BIRDS
Field Name Data Type Required Length Total Digits Fraction Digits ValidValues/Comparison Description
OBSERVATION_ID Text Yes 16 n/a n/a Unique observation identification. Primary key.
Итак, есть таблица с ее именем и поставщиком (в данном случае Protocol и Birds). В качестве примера у него есть только одно поле. Допустимые значения / сравнения могут иметь несколько вещей, разделенных запятыми, где каждая вещь будет заключена в теги значений внутри XML.
Теперь, что мне в основном нужно, это получить это для преобразования в этот XML ...
<?xml version="1.0" encoding="utf-8"?>
<Formats xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Formats.xsd">
<VendorFormats Vendor="PROTOCOL" LastModified="2005-9-13">
<Format Name="BIRDS" Version="3" VersionDate="2005-9-10">
<BaseTable>BIRDS</BaseTable>
<StageTable>STAGE_BIRDS</StageTable>
<Fields>
<Text Name="OBSERVATION_ID" Required="Y">
<NullValue />
<Description>Unique observation identification. Primary key.</Description>
<Length>16</Length>
</Text>
</Fields>
</Format>
</VendorFormats>
</Formats>
Всегда будут базовая таблица и таблица этапов, где базовая таблица совпадает с именем, которое следует за двоеточием в начале (PROTOCOL: BIRDS, так что это будет BIRDS), а таблица этапов всегда STAGE_ then что следует за толстой кишкой. Вы также заметите версию, дату последнего изменения и дату в XML. Об этих вещах можно беспокоиться позже и, возможно, добавить вручную.