Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

20.12.2011, 23:36. Просмотров 921. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос проблема с startElement() в SAX-парсере (Программирование Android):

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

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

Парсинг XML. startElement - Java SE
Есть кусок кода (упрощён для наглядности) static private class RSSHandler extends DefaultHandler { public void startDocument()...

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

что нужно в парсере? - PHP Сети
делаю расширенный парсер и хочу сразу учесть все что в нем потребуется, итак что уже в нем есть ...

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

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

Операция с элементом строки в парсере - JavaScript
По необходимости, для автоматизации некого действия, потребовался парсер в виду однотипности оного. некое действие: езздь...

.NET 4.x Ошибка в парсере html на второй итерации - C#
Добрый день! Пытаюсь сделать парсер. Для начала делаю два POST запроса, далее GET запрос. После второго POST запроса я вібирают href с...

Исправить выполнение условий в парсере данных - Python
Здравствуйте! Подскажите, есть парсер товаров с сайта поставщика. С недавнего времени некоторые функции перестали корректно работать: В...

SAX парсер - Java SE
Вот такой код: String thisElement = &quot;&quot;; Product prod = new Product(); List&lt;Product&gt; prodList = new ArrayList&lt;&gt;(); ...


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

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

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