Пример синтаксического анализа DOM или SAX

1

Я пробовал каждый учебник, который мог бы использовать в Google, для анализа моего XML файла (вы можете просмотреть его здесь).

Все, что я хочу сделать с файлом в приведенной выше ссылке, анализирует его в приложении для Android и извлекает каждое имя и строку String.

Может ли кто-нибудь помочь здесь? Я прошел по крайней мере 7 или около того учебников, и я теряю всякую надежду прямо сейчас.

Заранее благодарю.

Теги:
dom
xml-parsing
sax

2 ответа

2
Лучший ответ

Вы можете использовать XmlPullParser для синтаксического анализа XML.

Например, обратитесь к http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

  • 0
    Этот пример не показывает мне, как читать XML с URL. Это только показывает, как написать файл XML, а затем прочитать его.
  • 0
    Вы можете использовать следующий код для этого URL url = новый URL ("http: // -----"); conn = (HttpURLConnection) url.openConnection (); conn.connect (); и чтение содержимого URL с помощью url.openStream ())
Показать ещё 2 комментария
1

JAXP:

JAXP означает Java API для обработки XML. Это спецификация от w3c. JAXP - это API из SUN.

используя JAXP api, мы можем обрабатывать xml-документ в двух методах. DOM: Хранит весь XML-документ в памяти перед обработкой. Он занимает больше памяти. Он проходит в любом направлении. Структура данных дерева

Шаги по работе с DOM:

  1. Создать документBuilderFactory

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

  2. Создать DocumentBuilder

    DocumentBuilder builder = фабрика. newDocumentBuilder();

    1. получить поток ввода ClassLoader cls = DomReader.class.getClassLoader(); InputStream is = cls.getResourceAsStream("xml файл"); 4. Разберите xml файл и получите объект Document, вызвав метод parse в объекте DocumentBuilder. Документ document = builder.parse(is); 5. Трассировка дерева dom с использованием объекта document.SAX: простой синтаксический анализ xml. Он анализирует узел по узлу. Траверсинг сверху вниз. Низкое использование памяти. С саксофоном невозможна обратная навигация.

    //реализация требуемых обработчиков public class SaxParse extends DefaultHandler {}//новый экземпляр saxParserFactory SAXParserFactory factory = SAXParserFactory.newInstance(); //NEW INSTANCE SAX PARSER SAXParser saxparser = factory.newSAXParser(); // Анализ xml-документа SAXParser.parse (новый файл (файл для разбора), новый SAXXMLParserImpl());

Ещё вопросы

Сообщество Overcoder
Наверх
Меню