Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
#1

Создать таблицу из XML

30.01.2014, 11:38. Просмотров 2533. Ответов 29
Метки нет (Все метки)

Всем добрый день, помогите пожалуйста.
Возможно ли программно создать таблицу из полученного xml?
Просто напишите свои мнения ответы ссылки даже пример

Спасибо

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 11:38
Ответы с готовыми решениями:

Создать файл из xml
Добрый вечер! В res/raw лежит xml файл, нужно создать File из него, не могу...

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

Как создать файл (txt, xml) в android (Eclipse)
Задача нужно создать excel файл и писать дуда данные, потом отправить по почте....

Распарсить ответ в виде XML и создать таблицу
Всем добрый день. Отправляя Ajax запрос получаю XML в ответ. Мне необходимо...

Создать таблицу на основе xml или xsd
Есть xml файл и xml схема (xsd), необходимо на их основе создать таблицу в ms...

29
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.01.2014, 14:29 #2
Формат xml файла допускает хранения в нем таблиц. А что вами подразумевается под "создать таблицу" ? Отобразить её на экране или просто прочитать xml файл или представить его данные в каком-то определённом виде (например в виде двумерного массива) ?
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
30.01.2014, 16:49  [ТС] #3
Простите немножко непонятно поставил вопрос наверное.
В xml есть номера и имена сотрудников ну и стаж работы. (чисто для примера)
Нужно при получении ответа от сервера в виде xml - Создать таблицу и запихнуть туда все данные с xml.
Попробовал с помощью xmlPullParser но не смог. Я уже почти месяц пытаюсь понять но ни как не получается.
Пожалуйста помогите с задачей, а результат сделаем общедоступным и любой новичек как я поймет и отблагодарит вас, ну и поможет другим разобраться).
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.01.2014, 17:56 #4
Цитата Сообщение от Kazachek Посмотреть сообщение
немножко непонятно поставил вопрос наверное
К сожалению после вашего пояснения понятней не стало
Что вы понимаете под таблицей которую надо создать из данных представленных в виде xml ?
Таблица базы данных ? Нарисовать таблицу на экране ?
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
30.01.2014, 19:47  [ТС] #5
Нарисовать таблицу на экране

Добавлено через 1 час 38 минут
Есть идеи или предложения?
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.01.2014, 20:30 #6
Цитата Сообщение от Kazachek Посмотреть сообщение
Есть идеи или предложения?
Разбить задачу на более мелкие составляющие и начать её решать:
1) Загрузка xml файла из интернета
2) Парсинг файла
3) Отображение данных

Как я понимаю у вас не получается распарсить xml. Вот мой первый опыт в этой области :
Парсить будем то что вы хотели - xml с данными о работниках:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<employees>
    <employee id="1111" name="Иванов" experience="10"></employee>
    <employee id="2222" name="Петров" experience="20"></employee>
    <employee id="3333" name="Сидоров" experience="30"></employee>
</employees>
Для простоты, я храню весь xml в обычной строковой переменной, а данные вывожу в LogCat:

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
        String xmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" + 
                "<employees>\r\n" + 
                "<employee id=\"1111\" name=\"Иванов\" experience=\"10\"></employee>\r\n" + 
                "<employee id=\"2222\" name=\"Петров\" experience=\"20\"></employee>\r\n" + 
                "<employee id=\"3333\" name=\"Сидоров\" experience=\"30\"></employee>\r\n" + 
                "</employees>";
 
 
        XmlPullParser xpp = null;
        try {
            xpp = XmlPullParserFactory.newInstance().newPullParser();
            xpp.setInput(new StringReader(xmlData));
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) { 
                    for (int i=0 ; i < xpp.getAttributeCount() ; i++) { 
                        System.out.println(xpp.getAttributeName(i) + " : " + xpp.getAttributeValue(i));
                    }
                    System.out.println("# # # # # #");
                }
                eventType = xpp.next();
            }
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
После выполнения этого кода, в LogCat я вижу следующее:

01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.754: I/System.out(9359): id : 1111
01-30 20:27:24.754: I/System.out(9359): name : Иванов
01-30 20:27:24.754: I/System.out(9359): experience : 10
01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.754: I/System.out(9359): id : 2222
01-30 20:27:24.754: I/System.out(9359): name : Петров
01-30 20:27:24.754: I/System.out(9359): experience : 20
01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.764: I/System.out(9359): id : 3333
01-30 20:27:24.764: I/System.out(9359): name : Сидоров
01-30 20:27:24.764: I/System.out(9359): experience : 30
01-30 20:27:24.764: I/System.out(9359): # # # # # #
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
30.01.2014, 20:54  [ТС] #7
А как вывести не в лог кат а листвьюв или добавив теги в вебвьюв или просто нарисовать таблицу, подскажите пожалуйста
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.01.2014, 21:46 #8
Цитата Сообщение от Kazachek Посмотреть сообщение
А как вывести не в лог кат а листвьюв
Для этого вам нужно разобраться с листвью, понять что такое адаптеры и как их использовать. Потом необходимо заменить тело цикла внутри которого происходит перебор записей в xml файле. Теперь в нем будет код который производит добавление данных в адаптер вместо LogCat'a.
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
30.01.2014, 21:55  [ТС] #9
Ок, сейчас начну от и до изучать листвью. А в листвью можно ли разделить поля? Как в таблице например? Просто да и нет ответьте чтоб я сам постарался и вывел так

Добавлено через 1 минуту
А нет, можно так как иногда в листьвью есть и картинки, знчит это возможно сделать
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.01.2014, 22:01 #10
Цитата Сообщение от Kazachek Посмотреть сообщение
А в листвью можно ли разделить поля? Как в таблице например?
Это не самый лучший вариант. На мой взгляд вместо листвью лучше использовать GridView. Выглядеть будет как-то так:
Создать таблицу из XML
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
31.01.2014, 14:16  [ТС] #11
Цитата Сообщение от angryrobot Посмотреть сообщение
лучше использовать GridView
Сегодня тестировал и экспериментировал GridView и научился чуть чуть с ним обращаться, и с литвью тоже поэкспериментировал чтоб понять что как. Огромное спасибо за картинку, потому что визуально до нас быстрее доходит.

Добавлено через 5 минут
Почему то у меня в лог кате пусто, после нажатии копки по плану в лог кате должны были появиться данные, но их нет? и ошибку не выдает. Так какойто фильтр нужно установить?*
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
31.01.2014, 14:37 #12
Цитата Сообщение от Kazachek Посмотреть сообщение
Почему то у меня в лог кате пусто, после нажатии копки по плану в лог кате должны были появиться данные, но их нет? и ошибку не выдает. Так какойто фильтр нужно установить?*
Вы уверены что при нажатии на кнопку вызывается тот код который должен печатать в лог? Фильтр можно установить по столбцу "Application" или вообще сбросить все фильтры если сомневаетесь.
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
01.02.2014, 12:19  [ТС] #13
Цитата Сообщение от angryrobot Посмотреть сообщение
Вы уверены что при нажатии на кнопку вызывается тот код который должен печатать в лог?

Создал новый проект, залил код внутри он креата но все равно в логе ничего не отображается. а нельзя как то в TextView вывести?

Добавлено через 17 часов 6 минут
angryrobot, Прошу помощи. не справляюсь.
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
01.02.2014, 12:24 #14
Цитата Сообщение от Kazachek Посмотреть сообщение
angryrobot, Прошу помощи. не справляюсь.
Показывайте весь код
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
01.02.2014, 12:53  [ТС] #15
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
package com.example.myxml;
 
import java.io.IOException;
import java.io.StringReader;
 
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        String xmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" + 
                "<employees>\r\n" + 
                "<employee id=\"1111\" name=\"Иванов\" experience=\"10\"></employee>\r\n" + 
                "<employee id=\"2222\" name=\"Петров\" experience=\"20\"></employee>\r\n" + 
                "<employee id=\"3333\" name=\"Сидоров\" experience=\"30\"></employee>\r\n" + 
                "</employees>";
 
 
        XmlPullParser xpp = null;
        try {
            xpp = XmlPullParserFactory.newInstance().newPullParser();
            xpp.setInput(new StringReader(xmlData));
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) { 
                    for (int i=0 ; i < xpp.getAttributeCount() ; i++) { 
                        System.out.println(xpp.getAttributeName(i) + " : " + xpp.getAttributeValue(i));
                    }
                    System.out.println("# # # # # #");
                }
                eventType = xpp.next();
            }
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
        
        
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
01.02.2014, 13:21 #16
В LogCat должно нормально печататься. А какие-нибудь другие сообщения в него печатаются или он вовсе пустой ?
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
01.02.2014, 22:32  [ТС] #17
Цитата Сообщение от angryrobot Посмотреть сообщение
В LogCat должно нормально печататься. А какие-нибудь другие сообщения в него печатаются или он вовсе пустой ?
Пусто
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
01.02.2014, 23:05 #18
Цитата Сообщение от Kazachek Посмотреть сообщение
Пусто
Вы используете эклипс? Если да, то перейдите (1.) в перспективу DDMS и посмотрите отображается ли ваше устройство. Иногда бывает странный глюк когда устройство подключено, а логи не видны. Для этого нужно просто выбрать (2.) устройство из списка:
Создать таблицу из XML
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 391
03.02.2014, 08:29  [ТС] #19
Извините за поздний ответ, были проблемы с интернетом.

Проверил, устройство отображается в эмуляторе.
Запустил заново, появились ошибки, но приложении запускается.
Сделал два скриншота для полного представления.
0
Миниатюры
Создать таблицу из XML   Создать таблицу из XML  
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
03.02.2014, 10:35 #20
Цитата Сообщение от Kazachek Посмотреть сообщение
Запустил заново, появились ошибки, но приложении запускается.
Похоже что это ошибки не вашего приложения. Отключите все фильтры и запустите снова. Панелька с фильтрами у вас спрятана, она отображается при нажатии на вторую справа кнопку. В панель фильтров выберите пункт All messages и всё должно появиться.
1
03.02.2014, 10:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 10:35

Вывести данные в таблицу из xml файла. - Анализ XML файла, выгружаемого программой SPU_ORB.
Есть такой файлик с расширением .xml (из программы spy_orb) в нем много строк,...

Из двух XML создать один, состоящий из тегов, которые присутствуют в обоих XML
Нужно на PHP реализовать такую задачку. Пример: Есть первый XML: &lt;html&gt; ...

Создать файл xml schema на основе корректного xml
Вообщем есть следующая задача. Корректный XML файл results.xml содержит...


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

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

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