Как разобрать XML, используя Sax parser
При использовании SAX для анализа XML документы есть две основные реализации, которые нужно рассмотреть: org. Xml.sax и Android.sax. Каждая реализация имеет свои собственные преимущества и недостатки. Это требует вручную обработать слушателей событий для различных событий XML, таких как элементы начала/конечного и конечности и данные символов. Хотя этот подход предлагает большую гибкость, он может привести к более многословскому и повторяющемуся коду.
public Class examplehandler Extends Delaulthandler { // Инициализировать POJOS (простые старые объекты Java) для хранения данных XML Частный канал канал; частные товары; частный товар; Частный логический initem = false; частный контент StringBuilder; @Override Public void StartElement (String URI, String LocalName, String QName, Attributes Atts) бросает SaxException { Content = new StringBuilder (); if (localname.equalsignorecase ("канал")) { канал = новый канал (); } else if (localname.equalsignorecase ("item")) { initem = true; item = new item (); } } // ... оставшиеся слушатели событий ... }
android.sax реализация
public class ExampleHandler extends DefaultHandler { // Initialize POJOs (Plain Old Java Objects) to store XML data private Channel channel; private Items items; private Item item; private boolean inItem = false; private StringBuilder content; @Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { content = new StringBuilder(); if (localName.equalsIgnoreCase("channel")) { channel = new Channel(); } else if (localName.equalsIgnoreCase("item")) { inItem = true; item = new Item(); } } // ... Remaining event listeners ... }
Пример открытого класса Extends Delaulthandler { // pojos для хранения данных XML Частный канал канал; частные товары; частный товар; public example () { элементы = новые элементы (); } // Добавить слушателей событий для событий элементов // ... оставшийся код ... } ]
сравнение
public class Example extends DefaultHandler { // POJOs to store XML data private Channel channel; private Items items; private Item item; public Example() { items = new Items(); } // Add event listeners for element events // ... Remaining code ... }android.sax:
pros: упрощенное отображение с определением структуры XML, уменьшенный код Повторение
Cons: ограниченная гибкость в обработке комплекса XML structures
Заключение
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3