Я хочу проанализировать большой XML-файл, используя dom4j.Я использую функцию dom4j, которая позволяет регистрировать обработчики событий для выражений пути, чтобы игнорировать элементы, которые меня не интересуют.Функция объясняется здесь: http://dom4j.sourceforge.net/dom4j-1.6.1/faq.html#large-doc.
Я цитирую оттуда: «Затем эти обработчики будут вызываться в начале и в конце каждого пути, зарегистрированного для определенного обработчика. Когда начальный тегпуть найден, вызывается метод onStart обработчика, зарегистрированного для пути. При обнаружении конечного тега пути, если найден, вызывается метод onEnd обработчика, зарегистрированного для этого пути.
OnStart и onEndметодам передается экземпляр ElementPath, который можно использовать для получения текущего элемента по заданному пути. Если обработчик желает «обрезать» построенное дерево, чтобы сэкономить использование памяти, он может просто вызвать detach ()метод текущего элемента, обрабатываемого в методе обработчиков onEnd (). "
Моя проблема в том, что я не знаю, какой путь мне дать, чтобы все дочерние элементы корневого узла обрабатывались двумя методами.
Мой xml-файл выглядит примерно так:
<root .....>
<chef name="" ..../>
<chef name="" ..../>
<recipe name = .... />
<recipe name...../>
....
Если бы я хотел обработать элементы chef, то путь был бы / root / chef.Для элементов рецепта путь будет /root/recipe.
Но какой путь нужно указать dom4j, чтобы он обрабатывал (в onStart (), onEnd ()) как chef, так и recipeэлементы?
Спасибо большое!