2014-11-04 5 views
0

Есть ли какой-либо стандартный способ обхода файла DFDL с помощью Java. В настоящее время у нас есть Java-программа, которая использует XML-файлы. Теперь мы также хотим иметь возможность анализировать файлы DFDL. В любом случае, на Java? Есть ли способ сделать это с помощью DFDL и без схемы? Я кое-что прочитал о различии между DFDL и XML. Есть ли какой-либо я могу рассматривать их одинаково на Java. Благодарим ............................... !!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!Java-синтаксический анализ файла DFDL в отличие от файлов XML

+0

Я не знаком с файлами DFDL, хотя, кажется, существует (по крайней мере одна) библиотека для разбора файлов DFDL (google "Java DFDL parser"). В терминах «лечения их одинакового» это зависит от того, как «то же» вы говорите. Мне приходилось брать файлы CSV или XML и добавлять записи в базу данных. Добавление записей было одинаковым, но разбор XML и CSV-файлов был другим. Таким образом, вы можете создать абстрактный класс, который может быть расширен либо парсером XML, либо парсером DFDL, но я очень сомневаюсь, что синтаксический анализ будет аналогичным. – Jared

+0

Я посмотрел на парсер «Дафодил» и загрузил его. Это то, что он говорит: Daffodil - генератор парсера, который следует спецификации DFDL. Для меня это звучит так, как будто он анализирует файл как .csv и сохраняет его в формате DFDL. Я этого не хочу. Я хочу загрузить файл DFDL в Java и получить доступ к данным на Java. Сгенерированные синтаксические анализаторы преобразуются в XML-файлы, которые следуют за форматом , описанным в XML-схеме с аннотациями DFDL. Это инструмент командной строки и библиотека Java/Scala. – user3470688

ответ

0

Попробуйте реализовать Java DFDL в Java. Вам необходимо загрузить IBM Integration Bus Developer Edition и извлечь банки (документация объясняет, как это сделать). Он поставляется с образцом SAX, который делает IBM DFDL похожим на SAXReader, и вы получаете события SAX для вашего обратного вызова docHandler. Это отлично подходит для того, чтобы данные, отличные от XML, выглядели как XML.

+0

любая идея, как установить атрибут префикса парсера на что-то, что нам нужно? Я имею в виду, что мы можем установить rootelement, но не префикс. – JackSlayer94