Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Android [игнор отключен] [закрыт для гостей] / Распарсить XML получая его из текста а не из фала ресурсов / 4 сообщений из 4, страница 1 из 1
15.05.2017, 00:59
    #39452867
AndroidNeedHelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распарсить XML получая его из текста а не из фала ресурсов
Хочу распарсить XML, текст которого приходит по почте, обрабатывается и заносится в SQLite DB
Соответственно, я его могу получить как String

Нашёл пример по работе с XML, но в этом и многих других XML берётся из ресурса, а у меня строка...
Что делать??
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
private String getEventsFromXML(Activity activity)
            throws XmlPullParserException, IOException {
        StringBuilder stringBuilder = new StringBuilder();
        Resources res = activity.getResources();
        XmlResourceParser xmlResourceParser = res.getXml(R.xml.aboutcats);
        xmlResourceParser.next();
        int eventType = xmlResourceParser.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_DOCUMENT) {
                stringBuilder.append("Начало XML");
            } else if (eventType == XmlPullParser.START_TAG) {
                stringBuilder.append("\nSTART_TAG: ").append(xmlResourceParser.getName());
            } else if (eventType == XmlPullParser.END_TAG) {
                stringBuilder.append("\nEND_TAG: ").append(xmlResourceParser.getName());
            } else if (eventType == XmlPullParser.TEXT) {
                stringBuilder.append("\nTEXT: ").append(xmlResourceParser.getText());
            }
            eventType = xmlResourceParser.next();
        }
        stringBuilder.append("\nКонец XML");

        return stringBuilder.toString();
    }



Нашёл здесь и ещё кое-где что можно ресурс представить как-то так:
Код: java
1.
InputSource InpS = new InputSource(new StringReader(sXML));


Но я не знаю как его применить!
У меня такой код:
Код: java
1.
2.
3.
4.
5.
6.
                    String sXML = cursor.getString(cursor.getColumnIndex("MsgBody"));
                    txtDebug.setText(sXML);

                    Resources RES = this.getResources();
                    InputSource InpS = new InputSource(new StringReader(sXML));
                    XmlResourceParser XmlRP = RES.getXml(R.xml.InpS);


Соответственно красным - это мои фантазии, которые конечно же выдают ошибку...
...
Рейтинг: 0 / 0
15.05.2017, 09:15
    #39452904
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распарсить XML получая его из текста а не из фала ресурсов
Начни отсюда http://stackoverflow.com/questions/4436923/xml-string-parsing-in-android

Код: java
1.
2.
3.
4.
String xml ="valid xml here";
InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8"));

dom = builder.parse(is);



А после: https://www.google.com/search?q=android read xml from string
...
Рейтинг: 0 / 0
15.05.2017, 10:58
    #39452974
AndroidNeedHelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распарсить XML получая его из текста а не из фала ресурсов
wadman,

Спасибо!!!
Сделал так:
Код: java
1.
2.
3.
4.
5.
6.
                    String sXML = cursor.getString(cursor.getColumnIndex("MsgBody"));
                    DocumentBuilderFactory xmlDBF = DocumentBuilderFactory.newInstance();
                    DocumentBuilder xmlDB = xmlDBF.newDocumentBuilder();
                    StringReader xmlSR = new StringReader(sXML);
                    InputSource xmlIS = new InputSource(xmlSR);
                    Document xmlDOC = xmlDB.parse(xmlIS);


А не подскажете, XmlResourceParser только ресурс воспринимает? ЕМУ никак нельзя текст передать?


Как же всё через жопу в этой джаве... сто раз пожалел что связался
...
Рейтинг: 0 / 0
15.05.2017, 11:04
    #39452977
AndroidNeedHelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распарсить XML получая его из текста а не из фала ресурсов
AndroidNeedHelpА не подскажете, XmlResourceParser только ресурс воспринимает? ЕМУ никак нельзя текст передать?
Сам осознал - это же Xml Resource Parser - предназначенный для ресурса
Всё, глупый вопрос был
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Распарсить XML получая его из текста а не из фала ресурсов / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]