SAX Parser: Как получить корневой элемент XML в Java без явного указания корневого имени? - PullRequest
2 голосов
/ 02 октября 2019

Я использую SAX Parser для преобразования XML в формат CSV. Здесь мне нужно получить корневой элемент любого данного XML-файла. Я знаю, что могу выполнить задачу, используя следующий фрагмент.

if (!"book".equalsIgnoreCase(qName)) {
   .......
}

Но я хочу получить имя корневого элемента из любого данного XML-файла автоматически, вместо того, чтобы явно определять его как «книгу». Потому что я собираюсь генерировать CSV из любого входного XML-файла, но только с использованием SAX Parser. Может ли кто-нибудь помочь мне с моей проблемой? Заранее спасибо!

1 Ответ

2 голосов
/ 02 октября 2019

В XML-документе может быть только один корневой элемент, и он обязательно будет первым встреченным элементом, поэтому просто сохраните имя элемента (localName или QName - оба предоставляются) в первый раз, когда ваш startElement() обратный вызов называется.

...