Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
skw
Сообщений: n/a
#1

проблема с startElement() в SAX-парсере - Программирование Android

20.12.2011, 23:36. Просмотров 889. Ответов 0
Метки нет (Все метки)

Всем привет!
Пишу первое приложения для android. Уже долго мучаюсь с такой проблемой: нужно разобрать xml, который приходит из интернета. Сама xml приходит, засовывается в String и скармливается SAXParser`у. Все бы ничего, но в парсере не работает метод

public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {
}

В отладчике слежу за процессом выполнения приложения - срабатывает endElement, но ни разу startElement. Во всех примерах в интернете перед методом стоит @Override, но у меня среда выдает ошибку "The method startElement(String, String, String, Attributes) of type wikiXmlHandler must
override or implement a supertype method" и просит @Override удалить. Помогите новичку
Код класса ниже..

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
 * SAXParser
 * класс анализа xml 
 */
package skw.bnet.model;
 
import java.util.ArrayList;
import java.util.jar.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
 
 
public class wikiXmlHandler extends DefaultHandler {
 
 
    private ArrayList<wikiSearchResult> result;
    private boolean in_Text = false;
    private boolean in_Description = false;
    private boolean in_Url = false;
 
    // constructor
    public wikiXmlHandler() {
        this.result = new ArrayList<wikiSearchResult>();
    }
 
    // возвращаем обработанные из XML данные
    public ArrayList<wikiSearchResult> getResult() {
        return this.result;
    }
 
    @Override
    public void startDocument() throws SAXException {
    }
 
    @Override
    public void endDocument() throws SAXException {
    }
 
    public void startElement(String namespaceURI, String localName,
            String qName, Attributes atts) throws SAXException {
        try {
            if (localName.equals("Item")) {
                this.result.add(new wikiSearchResult());
            }
            else if (localName.equals("Text")) {
                this.in_Text = true;
            }
            if (localName.equals("Description")) {
                this.in_Description = true;
            }
            if (localName.equals("Url")) {
                this.in_Url = true;
            }
        }
        catch (Exception e) {
 
        }
    }
 
    public void endElement(String namespaceURI, String localName, String qName)
            throws SAXException {
        if (localName.equals("Text")) {
            this.in_Text = false;
        }
        if (localName.equals("Description")) {
            this.in_Description = false;
        }
        if (localName.equals("Url")) {
            this.in_Url = false;
        }
    }
 
    @Override
    public void characters(char ch[], int start, int lenght) {
        if (in_Text) {
            this.result.get(this.result.size() - 1).setText(
                    new String(ch, start, lenght));
        }
        else if (in_Description) {
            this.result.get(this.result.size() - 1).setDescription(
                    new String(ch, start, lenght));
        }
        else if (in_Url) {
            this.result.get(this.result.size() - 1).setUrl(
                    new String(ch, start, lenght));
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 23:36     проблема с startElement() в SAX-парсере
Посмотрите здесь:
Android Ошибка в парсере формулы
Android Xml sax parser как вытащить картинку из тега <description>
Java SE Парсинг XML. startElement
Python Ошибка в парсере
PHP Не работает функция в парсере
PHP Сети что нужно в парсере?
JavaScript Операция с элементом строки в парсере
C# .NET 4.x Ошибка в парсере html на второй итерации
Python Исправить выполнение условий в парсере данных
Не могу осилить if (пробую сделать условие в парсере) PHP
Java SE SAX парсер
Java SE SAX Parser

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru