IN java, как обрабатывается файл Commons-Digester входным XML-файлом?

Я новичок в Java, и я встретил заявление в проекте Java, в котором говорится:

Digester digester = DigesterLoader.createDigester(getClass()
                .getClassLoader().getResource("rules.xml"));

Файл rules.xml содержит различные шаблоны, и каждый шаблон имеет разные атрибуты, такие как имя класса, имя метода и некоторые другие свойства.

я googled о digester но не смог найти что-нибыдь полезное которое смогло помочь мне с заявлением выше. может ли кто-нибудь просто сказать мне, каковы шаги, выполняемые при выполнении вышеуказанного заявления? На самом деле в чем преимущество этого материала XML?

java,xml,apache-commons-digester,

1

Ответов: 4


2 принят

swapnil, как пользователь Digester в мои дни Struts, я могу честно сказать, что сложно учиться / отлаживать. Это сложная библиотека, чтобы ознакомиться с ней, по сути, вы настраиваете обработчики событий для определенных элементов, вроде SAX-парсера (на самом деле он использует SAX за кулисами). Таким образом, вы кормите механизм правил некоторым XPath для интересующих вас узлов и устанавливаете правила, которые будут создавать экземпляры, и задавать свойства для некоторых POJO с данными, которые он находит в XML-файле.

Отличная идея, и как только вы привыкнете к ней, это хорошо, однако если у вас есть xsd для вашего XML-файла ввода, я бы скорее рекомендовал вам использовать JAXB.

Единственное, что приятно в Digester, это делать только те вещи, которые вас интересуют, поэтому объем памяти заканчивается хорошим и низким.


1

Это метод, вызываемый здесь . Xml обычно используется в Java для конфигураций, поскольку файлы xml не нужно компилировать. Наличие такой же конфигурации в java-файле означает, что вы должны скомпилировать файл.


1

Предполагаю, вы понимаете, как загружается файл правил с помощью загрузчика классов? Он в основном выглядит в том же пакете, что и сам класс, и создает то, URLчто дает абсолютное местоположение файла.

Что касается Digester, я не использовал его, но быстро прочитал об этом ( http://commons.apache.org/digester/ ), чтобы объяснить все.


0

Они использовали его на моем последнем концерте, и все, что я помню, это то, что он был очень медленным.

Java, XML, Apache-Обще-варочный котел,
Похожие вопросы
Яндекс.Метрика