Если вы ищете более эффективный способ использования XmlPullParser для синтаксического анализа, боюсь, его нет. Например, в JavaScript вы можете «напрямую» получить доступ к элементу, указав его идентификатор, что кажется намного более эффективным. Но в этом случае ваш браузер уже проанализировал все дерево DOM и пометил идентификаторы для будущего использования.
Насколько я понимаю, XmlPullParser выполняет синтаксический анализ «на лету», что означает, что когда вы достигаете целевого узла с помощью методов «next()», это первый раз, когда он читается. Таким образом, нет другого способа получить к нему прямой доступ. Кроме того, я считаю, что интерфейс XmlPullParser не определяет никакого метода для перехода к какому-либо разделу документа.
Однако, если вам действительно нужно повысить производительность, вы можете предварительно обработать файл xml перед его разбором, удалив, например, некоторые части файла, которые не должны быть полезны. В зависимости от того, что вы делаете, предварительная обработка простого текста может быть намного быстрее, чем синтаксический анализ XML; но также есть большая вероятность, что вы сломаете свой документ, сделав это.
По моему опыту, несмотря на то, что XML имеет много преимуществ, его синтаксический анализ может быть очень медленным. Если производительность действительно критична и если вы можете, переключение на другой формат файла (например, двоичный) может быть намного быстрее.
person
personne3000
schedule
23.05.2013