Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
1

Не читается полностью скачанный xml

02.11.2012, 23:44. Показов 1628. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Скачитаю xml:
Java
1
2
3
URL conn = new URL("http://www.cbr.ru/scripts/XML_daily.asp?date_req=05.10.2012");
    InputSource inputSource = new InputSource(conn.openStream());       
    inputSource.setEncoding("UTF-8");
На вывод идет все до первого символа в кириллице, т.е. до "Австралийский доллар".

Вот реализация обработчиков парсера:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void startElement (String uri, String localName, String qName, Attributes attributes) 
    throws SAXException{        
        try{            
            if (qName.equalsIgnoreCase("ValCurs"))
                TX.setText(TX.getText().toString()+"-"+attributes.getLocalName(1));         
                TX.setText(TX.getText().toString()+"-"+localName+"; ");}
        catch (Exception e) {
            TX.setText("Error tut");    }
    }
    public void characters (char[] ch, int start, int length) throws SAXException{
        String cdate = new String(ch, start, length);
        TX.setText(TX.getText()+ cdate);
    }   
}
По началу я начал грешить на кодировку, поэтому стал применять UTF-8, но как видно безрезультатно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2012, 23:44
Ответы с готовыми решениями:

SMS не читается полностью через Receiver
Привет всем. Понадобилось сделать в очередной раз парсер смс, но в этот раз я заметил такую штуку. ...

Не полностью читается файл на Windows
Просьба помочь, т.к. потихоньку начинают закипать мозги... При попытке считать строки из...

Не читается файл XML
Здравствуйте. Имеется написанная на C# dll. В ней есть функция чтения файла настроек settings.xml,...

Получаю XML не полностью...
пишу под андроид, требуется получить xml-файл... но он почему то доходит не полностью. получаю его...

6
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 00:28 2
вы наугад вырезали два куска с своего кода и мы должны угадать что к чему?
0
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
03.11.2012, 00:40  [ТС] 3
Да нет, не наугад...
Вот весь код:

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
package com.sample.httpExample;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
 
public class HttpExampleActivity extends Activity 
implements OnClickListener
{
private 
TextView TX;
String result;
boolean item;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TX = (TextView)findViewById(R.id.TX1);
    final Button but_1 = (Button)findViewById(R.id.But1);
    final Button but_2 = (Button)findViewById(R.id.But2);
    but_1.setOnClickListener(this);
    but_2.setOnClickListener(this);
}
 
@Override
public void onClick(View v){
    
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.But1:
    {   try {
        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser saxParser = factory.newSAXParser();
        XMLReader xmlReader = saxParser.getXMLReader();
        MyParser mypar = new MyParser();
        xmlReader.setContentHandler(mypar);
        URL conn = new URL("http://www.cbr.ru/scripts/XML_daily.asp?date_req=05.10.2012");
        InputSource inputSource = new InputSource(conn.openStream());
        inputSource.setEncoding("UTF-8");
        xmlReader.parse(inputSource);       
    }
        catch (Exception e) {
            // TODO: handle exception
            TX.setText(TX.getText().toString()+"  "+e);
        }
    }
    break;  
    }
 
}
 
private class MyParser extends DefaultHandler{
    public void startElement (String uri, String localName, String qName, Attributes attributes) 
    throws SAXException{
        try{  
            if (qName.equalsIgnoreCase("ValCurs"))
                TX.setText(TX.getText().toString()+"-"+attributes.getLocalName(1));
                TX.setText(TX.getText().toString()+"-"+localName+"; ");
        }
        catch (Exception e) {
        }
    }
    public void endElement (String namespaseURI, String localName, String qName) throws SAXException{   
    }
    public void characters (char[] ch, int start, int length) throws SAXException{
        String cdate = new String(ch, start, length);
        {
            TX.setText(TX.getText()+ cdate);
        }
    }   
}
}
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 01:08 4
Цитата Сообщение от Hank Посмотреть сообщение
catch (Exception e) {
* * * * * * // TODO: handle exception
* * * * * * TX.setText(TX.getText().toString()+" *"+e);
* * * * }
Цитата Сообщение от Hank Посмотреть сообщение
catch (Exception e) {
* * * * }
а екзепшены есть?
0
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
03.11.2012, 01:45  [ТС] 5
Да есть, забыл совсем.

"org.apache.harmony.xml. ExpatParser$ParseException: At line 7, column 7: not well-formed (invalid token)"

Второй перехватчик не срабатывает.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 02:06 6
а так пробовали?
inputSource.setEncoding("windows-1251");
0
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
03.11.2012, 16:03  [ТС] 7
Цитата Сообщение от V0v1k Посмотреть сообщение
а так пробовали?
inputSource.setEncoding("windows-1251");
Да так пробовал.

"org.apache.harmony.xml. ExpatParser$ParseException: At line 1, column 0: unknown encoding"
0
03.11.2012, 16:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2012, 16:03
Помогаю со студенческими работами здесь

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

Из xml неверно читается знак "+"
Поясню на примере. Из xml-файла вместо 50+35+35+35+10 получается 50№5№5№5!0. Что это за бесовщина...

диск с фильмом читается на двд для телевизора не читается на компьютерном двд роме
диск с фильмом читается на двд для телевизора не читается на компьютерном двд роме хочу этот...

скачанный офис
Люди, подскажите чайнику, если скачать предлагаемый в сети office 2007, его можно будет...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru