Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
skw
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 1
#1

проблема с startElement() в SAX-парсере

20.12.2011, 23:36. Просмотров 930. Ответов 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));
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 23:36
Ответы с готовыми решениями:

Ошибка в парсере формулы
Здравствуйте! Помогите понять, где ошибка, пожалуйста... Пишу обозреватель...

Xml sax parser как вытащить картинку из тега <description>
пишу клиент для сайта использую xml sax parser вопрос как вытащить картинки и...

Парсинг XML. startElement
Есть кусок кода (упрощён для наглядности) static private class RSSHandler...

Ошибка в парсере
Добрый день, есть парсер, все работает отлично. Надо вытащить ссылку ...

Ошибка в парсере
Вот код: #!/usr/bin/env python3 import time from urllib.request import...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2011, 23:36

Новый атрибут в парсере
При публикации новости через визуальный редактор DLE обрезает запись...

Не работает функция в парсере
Есть 4 условия парсинга, в зависимости от условия нужно парсить ту или иную...

Кодировка кириллицы в парсере
Привет. не пойму в чем дело. простой парсер на curl. сайт в windows-1251. во...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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