Я использую SAX для разбора файлов XML.Давайте предположим, что я хочу, чтобы мое приложение только обрабатывало XML-файлы с корневым элементом " animalList " - если корневым узлом является что-то другое, анализатор SAX должен прекратить синтаксический анализ.
Используя DOM, вы бы сделали это так:
...
Element rootElement = xmldoc.getDocumentElement();
if ( ! rootElement.getNodeName().equalsIgnoreCase("animalList") )
throw new Exception("File is not an animalList file.");
...
, но я не могу понять, как это сделать с помощью SAX - я не могу понять, как сказать SAX-парсеропределить корневой элемент.Тем не менее, я знаю, как прекратить анализ в любой точке (после того, как решение Тома ).
Пример XML-файла:
<?xml version="1.0" encoding="UTF-8"?>
<animalList version="1.0">
<owner>Old Joe</owner>
<dogs>
<germanShephered>Spike</germanShephered>
<australianTerrier>Scooby</australianTerrier>
<beagle>Ginger</beagle>
</dogs>
<cats>
<devonRex>Tom</devonRex>
<maineCoon>Keta</maineCoon>
</cats>
</animalList>
Спасибо.