Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
#1

Парсинг XML - Android

12.06.2013, 13:36. Просмотров 2472. Ответов 34
Метки нет (Все метки)

Пробую так
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
String data = getIntent().getStringExtra("data");
        
        try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(data);
            NodeList nodes = doc.getElementsByTagName("userInfo");
            Element element = (Element) nodes.item(0);
            NodeList title = ((Document) element).getElementsByTagName("string");
            for (int i = 0; i<4;i++) {
                Element line = (Element) title.item(i);
                userInfo.setContent(line.getName(), ((Node) line).getTextContent());
            }
            Log.d("m", userInfo.getIdName());
        } catch (ParserConfigurationException e1) {
            Log.d("m", "1");
            e1.printStackTrace();
        } catch (SAXException e) {
            Log.d("m", "2");
            e.printStackTrace();
        } catch (IOException e) {
            Log.d("m", "3");
            e.printStackTrace();
        }
XMLка такая
XML
1
2
3
4
5
6
<userInfo>
  <string name = "idName">Иван Иванов</string>
  <string name = "avaSrc">ava1.png</string>
  <string name = "someWords">I am very good\nVery</string>
  <string name = "whoIAm">Another</string>   
</userInfo>
вылетает IOException

Добавлено через 4 минуты
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
06-12 09:32:44.177: D/AndroidRuntime(1225): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
06-12 09:32:44.177: D/AndroidRuntime(1225): CheckJNI is ON
06-12 09:32:44.958: D/AndroidRuntime(1225): Calling main entry com.android.commands.pm.Pm
06-12 09:32:45.138: D/dalvikvm(202): GC_EXPLICIT freed 4K, 54% free 2538K/5511K, external 716K/1038K, paused 55ms
06-12 09:32:45.138: W/ActivityManager(74): No content provider found for: 
06-12 09:32:48.562: W/ActivityManager(74): No content provider found for: 
06-12 09:32:48.580: D/PackageParser(74): Scanning package: /data/app/vmdl673284870.tmp
06-12 09:32:49.188: D/dalvikvm(74): GC_CONCURRENT freed 712K, 59% free 4120K/9991K, external 2216K/2816K, paused 34ms+7ms
06-12 09:32:49.389: I/PackageManager(74): Removing non-system package:com.example.pr
06-12 09:32:49.389: I/ActivityManager(74): Force stopping package com.example.pruid=10030
06-12 09:32:49.488: I/Process(74): Sending signal. PID: 1172 SIG: 9
06-12 09:32:49.698: E/InputDispatcher(74): channel '4053f250 com.example.pr/com.example.pr.General_Activity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
06-12 09:32:49.698: E/InputDispatcher(74): channel '4053f250 com.example.pr/com.example.pr.General_Activity (server)' ~ Channel is unrecoverably broken and will be disposed!
06-12 09:32:49.718: I/WindowManager(74): WINDOW DIED Window{4053f250 com.example.pr/com.example.pr.General_Activity paused=false}
06-12 09:32:51.027: D/PackageManager(74): Scanning package com.example.pr
06-12 09:32:51.027: I/PackageManager(74): Package com.example.prcodePath changed from /data/app/com.example.pr-2.apk to /data/app/com.example.pr-1.apk; Retaining data and using new
06-12 09:32:51.048: I/PackageManager(74): Unpacking native libraries for /data/app/com.example.pr-1.apk
06-12 09:32:51.348: D/installd(34): DexInv: --- BEGIN '/data/app/com.example.pr-1.apk' ---
06-12 09:32:56.717: D/dalvikvm(202): GC_EXPLICIT freed 6K, 54% free 2538K/5511K, external 716K/1038K, paused 1873ms
06-12 09:32:58.077: D/dalvikvm(1234): DexOpt: load 123ms, verify+opt 649ms
06-12 09:33:01.254: D/installd(34): DexInv: --- END '/data/app/com.example.pr-1.apk' (success) ---
06-12 09:33:01.257: W/PackageManager(74): Code path for pkg : com.example.prchanging from /data/app/com.example.pr-2.apk to /data/app/com.example.pr-1.apk
06-12 09:33:01.257: W/PackageManager(74): Resource path for pkg : com.example.prchanging from /data/app/com.example.pr-2.apk to /data/app/com.example.pr-1.apk
06-12 09:33:01.257: D/PackageManager(74):   Activities: com.example.pr.Main_Activity com.example.pr.Registration_Activity com.example.pr.General_Activity com.example.pr.userImgDialog_Activity
06-12 09:33:01.298: I/ActivityManager(74): Force stopping package com.example.pruid=10030
06-12 09:33:02.821: I/installd(34): move /data/dalvik-cache/data@app@com.example.pr-1.apk@classes.dex -> /data/dalvik-cache/data@app@com.example.pr-1.apk@classes.dex
06-12 09:33:02.821: D/PackageManager(74): New package installed in /data/app/com.example.pr-1.apk
06-12 09:33:03.878: I/ActivityManager(74): Force stopping package com.example.pruid=10030
06-12 09:33:04.029: D/dalvikvm(74): GC_EXPLICIT freed 344K, 60% free 4085K/9991K, external 2216K/2816K, paused 117ms
06-12 09:33:04.128: D/dalvikvm(232): GC_EXPLICIT freed 2K, 51% free 2871K/5767K, external 2039K/2474K, paused 116ms
06-12 09:33:04.257: W/RecognitionManagerService(74): no available voice recognition services found
06-12 09:33:04.667: D/dalvikvm(74): GC_EXPLICIT freed 241K, 60% free 4006K/9991K, external 2216K/2816K, paused 90ms
06-12 09:33:04.667: D/dalvikvm(251): GC_EXPLICIT freed 76K, 52% free 2761K/5703K, external 716K/1038K, paused 537ms
06-12 09:33:04.937: I/installd(34): unlink /data/dalvik-cache/data@app@com.example.pr-2.apk@classes.dex
06-12 09:33:04.957: D/AndroidRuntime(1225): Shutting down VM
06-12 09:33:04.997: D/dalvikvm(1225): GC_CONCURRENT freed 101K, 72% free 295K/1024K, external 0K/0K, paused 3ms+2ms
06-12 09:33:04.997: I/AndroidRuntime(1225): NOTE: attach of thread 'Binder Thread #3' failed
06-12 09:33:04.997: D/jdwp(1225): Got wake-up signal, bailing out of select
06-12 09:33:04.997: D/dalvikvm(1225): Debugger has detached; object registry had 1 entries
06-12 09:33:05.947: D/AndroidRuntime(1239): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
06-12 09:33:05.947: D/AndroidRuntime(1239): CheckJNI is ON
06-12 09:33:06.597: D/AndroidRuntime(1239): Calling main entry com.android.commands.am.Am
06-12 09:33:06.637: I/ActivityManager(74): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.pr/.Main_Activity } from pid 1239
06-12 09:33:06.827: D/AndroidRuntime(1239): Shutting down VM
06-12 09:33:06.837: D/dalvikvm(1239): GC_CONCURRENT freed 102K, 69% free 320K/1024K, external 0K/0K, paused 1ms+1ms
06-12 09:33:06.837: D/jdwp(1239): Got wake-up signal, bailing out of select
06-12 09:33:06.837: D/dalvikvm(1239): Debugger has detached; object registry had 1 entries
06-12 09:33:06.887: I/ActivityManager(74): Start proc com.example.prfor activity com.example.pr/.Main_Activity: pid=1248 uid=10030 gids={3003}
06-12 09:33:06.949: I/dalvikvm(1239): JNI: AttachCurrentThread (from ???.???)
06-12 09:33:06.949: I/AndroidRuntime(1239): NOTE: attach of thread 'Binder Thread #3' failed
06-12 09:33:07.967: I/ActivityManager(74): Displayed com.example.pr/.Main_Activity: +1s81ms
06-12 09:33:08.877: I/ActivityManager(74): Starting: Intent { cmp=com.example.pr/.General_Activity (has extras) } from pid 1248
06-12 09:33:08.947: I/dalvikvm(1248): Could not find method android.renderscript.Element.getName, referenced from method com.example.pr.General_Activity.onCreate
06-12 09:33:08.947: W/dalvikvm(1248): VFY: unable to resolve virtual method 291: Landroid/renderscript/Element;.getName ()Ljava/lang/String;
06-12 09:33:08.947: D/dalvikvm(1248): VFY: replacing opcode 0x6e at 0x006f
06-12 09:33:08.947: D/dalvikvm(1248): VFY: dead code 0x0072-007e in Lcom/example/pr/General_Activity;.onCreate (Landroid/os/Bundle;)V
06-12 09:33:09.007: D/m(1248): 3
06-12 09:33:09.007: W/System.err(1248): java.net.MalformedURLException: Protocol not found: <userInfo>
06-12 09:33:09.017: W/System.err(1248):   <string name = "idName">пїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ</string>
06-12 09:33:09.017: W/System.err(1248):   <string name = "avaSrc">ava1.png</string>
06-12 09:33:09.017: W/System.err(1248):   <string name = "someWords">I am very good\nVery</string>
06-12 09:33:09.017: W/System.err(1248):   <string name = "whoIAm">Another</string>   
06-12 09:33:09.017: W/System.err(1248): </userInfo>
06-12 09:33:09.017: W/System.err(1248):     at java.net.URL.<init>(URL.java:273)
06-12 09:33:09.017: W/System.err(1248):     at java.net.URL.<init>(URL.java:157)
06-12 09:33:09.027: W/System.err(1248):     at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:118)
06-12 09:33:09.027: W/System.err(1248):     at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:155)
06-12 09:33:09.027: W/System.err(1248):     at com.example.pr.General_Activity.onCreate(General_Activity.java:51)
06-12 09:33:09.027: W/System.err(1248):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-12 09:33:09.027: W/System.err(1248):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-12 09:33:09.055: W/System.err(1248):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-12 09:33:09.055: W/System.err(1248):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-12 09:33:09.057: W/System.err(1248):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-12 09:33:09.057: W/System.err(1248):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-12 09:33:09.057: W/System.err(1248):     at android.os.Looper.loop(Looper.java:123)
06-12 09:33:09.057: W/System.err(1248):     at android.app.ActivityThread.main(ActivityThread.java:3683)
06-12 09:33:09.057: W/System.err(1248):     at java.lang.reflect.Method.invokeNative(Native Method)
06-12 09:33:09.057: W/System.err(1248):     at java.lang.reflect.Method.invoke(Method.java:507)
06-12 09:33:09.057: W/System.err(1248):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-12 09:33:09.057: W/System.err(1248):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-12 09:33:09.057: W/System.err(1248):     at dalvik.system.NativeStart.main(Native Method)
06-12 09:33:09.217: D/dalvikvm(1248): GC_EXTERNAL_ALLOC freed 158K, 52% free 2625K/5447K, external 884K/1038K, paused 54ms
06-12 09:33:10.077: I/ActivityManager(74): Displayed com.example.pr/.General_Activity: +907ms
06-12 09:33:15.198: D/dalvikvm(300): GC_EXPLICIT freed 8K, 55% free 2591K/5703K, external 716K/1038K, paused 81ms
06-12 09:33:20.328: D/dalvikvm(396): GC_EXPLICIT freed 3K, 55% free 2533K/5511K, external 716K/1038K, paused 146ms
06-12 09:33:25.367: D/dalvikvm(232): GC_EXPLICIT freed 6K, 51% free 2874K/5767K, external 2061K/2474K, paused 126ms
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90
12.06.2013, 19:38     Парсинг XML #2
попробуй так

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
try {
            // Сначала создаем новый XMLInputFactory
            XMLInputFactory inputFactory = XMLInputFactory.newInstance();
            // настраиваем новый eventReader
            InputStream in = new FileInputStream(configFile);
            XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
            // Читаем документ
            Jewel deposit = null;
 
            while (eventReader.hasNext()) {
                XMLEvent event = eventReader.nextEvent();
 
                if (event.isStartElement()) {
                    StartElement startElement = event.asStartElement();
                    // Если существует элемент выделяем память под него
                    if (startElement.getName().getLocalPart() == (JEWEL)) {
                        deposit = new Jewel();
                        Iterator<Attribute> attributes = startElement
                                .getAttributes();
                            while (attributes.hasNext()) {
                              Attribute attribute = attributes.next();
                              if (attribute.getName().toString().equals(NAME)) {
                                deposit.setName(attribute.getValue());
                              }
 
                            }
                    }
                    
                if (event.asStartElement().getName().getLocalPart()
                        .equals(COLOR)) {
                    event = eventReader.nextEvent();
                    deposit.setColor(event.asCharacters().getData());
                    continue;
                }
 
 
                if (event.asStartElement().getName().getLocalPart()
                        .equals(KARAT)) {
                    event = eventReader.nextEvent();
                    deposit.setKarat(event.asCharacters().getData());
                    continue;
                }
                
                if (event.asStartElement().getName().getLocalPart()
                        .equals(PROZR)) {
                    event = eventReader.nextEvent();
                    deposit.setProzr(event.asCharacters().getData());
                    continue;
                }
                
                if (event.asStartElement().getName().getLocalPart()
                        .equals(ISDRAG)) {
                    event = eventReader.nextEvent();
                    deposit.setDrag(event.asCharacters().getData());
                    continue;
                }
            }
                // если дошли до конца, добавляем объект в коллекцию
                if (event.isEndElement()) {
                    EndElement endElement = event.asEndElement();
                    if (endElement.getName().getLocalPart() == (JEWEL)) {
                        deposits.add(deposit);
                    }
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (XMLStreamException e) {
            e.printStackTrace();
        }
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
12.06.2013, 20:16  [ТС]     Парсинг XML #3
это вообще другая либа для разбора xml..
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90
12.06.2013, 20:19     Парсинг XML #4
Цитата Сообщение от spydark91 Посмотреть сообщение
это вообще другая либа для разбора 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
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
try {
                FileInputStream fis = context.openFileInput(xmlFile);
                InputStreamReader isr = new InputStreamReader(fis);
                        char[] inputBuffer = new char[fis.available()];
                        isr.read(inputBuffer);
                        /*InputStreamReader isr = new InputStreamReader(am.open(xmlFile));
                        char[] inputBuffer =new char[7000];
                        isr.read(inputBuffer);
                        */
                        data = new String(inputBuffer);
                        inputBuffer=null;
                        isr.close();
                        } catch (FileNotFoundException e3) {
                        // TODO Auto-generated catch block
                            e3.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    XmlPullParserFactory factory = null;
                    try {
                        factory = XmlPullParserFactory.newInstance();
                        } catch (XmlPullParserException e2) {
                        // TODO Auto-generated catch block
                        e2.printStackTrace();
                        }
                    factory.setNamespaceAware(true);
                    XmlPullParser xpp = null;
                    try {
                        xpp = factory.newPullParser();
                        } catch (XmlPullParserException e2) {
                        // TODO Auto-generated catch block
                        e2.printStackTrace();
                        }
                    try{
                        xpp.setInput( new StringReader (data) );
                        } catch (XmlPullParserException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                        }
                     int eventType = 0;
                     try{
                         eventType = xpp.getEventType();
                        } catch (XmlPullParserException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                        }
                     while (eventType != XmlPullParser.END_DOCUMENT){
                         if(eventType == XmlPullParser.START_DOCUMENT) {
                             System.out.println("Start document");
                         }else if(eventType == XmlPullParser.START_TAG) {
                             System.out.println("Start tag "+xpp.getName());
                         }else if(eventType == XmlPullParser.END_TAG) {
                             System.out.println("End tag "+xpp.getName());
                         }else if(eventType == XmlPullParser.TEXT) {
                             userData.add(xpp.getText());
                         }
                         try{
                             eventType = xpp.next();
                        }catch (XmlPullParserException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        }
                        }
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
12.06.2013, 20:28  [ТС]     Парсинг XML #5
в данном случае мне интересно узнать свою ошибку
я не прошу готовое решение, а кучу кода найти в интернете для меня проблемы не составляет
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.06.2013, 22:43     Парсинг XML #6
попробуйте
Java
1
builder.parse(new InputSource(new ByteArrayInputStream(data.getBytes("utf-8"))));
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
13.06.2013, 23:48  [ТС]     Парсинг XML #7
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
 
            Document doc = builder.parse(new InputSource(new ByteArrayInputStream(data.getBytes("utf-8"))));  
            NodeList nodes = doc.getElementsByTagName("userInfo");
            Element element = (Element) nodes.item(0);
            NodeList title = ((Document) element).getElementsByTagName("string");
            for (int i = 0; i<4;i++) {
                Element line = (Element) title.item(i);
                userInfo.setContent(line.getName(), ((Node) line).getTextContent());
                //userInfo.setContent("idName", ((Node) line).getTextContent());
            }
            Log.d("m", userInfo.getIdName());
        } catch (ParserConfigurationException e1) {
            e1.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
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
06-13 08:47:19.616: I/dalvikvm(1382): Could not find method android.renderscript.Element.getName, referenced from method com.example.pr.General_Activity.onCreate
06-13 08:47:19.616: W/dalvikvm(1382): VFY: unable to resolve virtual method 292: Landroid/renderscript/Element;.getName ()Ljava/lang/String;
06-13 08:47:19.616: D/dalvikvm(1382): VFY: replacing opcode 0x6e at 0x007f
06-13 08:47:19.616: D/dalvikvm(1382): VFY: dead code 0x0082-008e in Lcom/example/pr/General_Activity;.onCreate (Landroid/os/Bundle;)V
06-13 08:47:19.686: D/AndroidRuntime(1382): Shutting down VM
06-13 08:47:19.686: W/dalvikvm(1382): threadid=1: thread exiting with uncaught exception (group=0x40015560)
06-13 08:47:19.696: E/AndroidRuntime(1382): FATAL EXCEPTION: main
06-13 08:47:19.696: E/AndroidRuntime(1382): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.pr/com.example.pr.General_Activity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.os.Looper.loop(Looper.java:123)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread.main(ActivityThread.java:3683)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at java.lang.reflect.Method.invokeNative(Native Method)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at java.lang.reflect.Method.invoke(Method.java:507)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at dalvik.system.NativeStart.main(Native Method)
06-13 08:47:19.696: E/AndroidRuntime(1382): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
06-13 08:47:19.696: E/AndroidRuntime(1382):     at com.example.pr.General_Activity.onCreate(General_Activity.java:56)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-13 08:47:19.696: E/AndroidRuntime(1382):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-13 08:47:19.696: E/AndroidRuntime(1382):     ... 11 more
06-13 08:47:21.566: I/Process(1382): Sending signal. PID: 1382 SIG: 9
врятли дело в кодировке..я пробовал и без кириллиц

Добавлено через 10 часов 59 минут
вообще делал по примеру с http://stackoverflow.com/questions/8...android-device и не ясно где закралась ошибка
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
13.06.2013, 23:56     Парсинг XML #8
ну так это уже совсем другая ошибка и, кстати, очень бнальная
Цитата Сообщение от spydark91 Посмотреть сообщение
ClassCastException
Цитата Сообщение от spydark91 Посмотреть сообщение
General_Activity.java:56
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:03  [ТС]     Парсинг XML #9
понял, что не может привести какой то тип к какому, но какой к какому не понял

кстати он еще выводит, что Could not find method android.renderscript.Element.getName
как так..?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.06.2013, 00:09     Парсинг XML #10
там же написано и класс и строка...
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:16  [ТС]     Парсинг XML #11
но причем тут класс General_Activity, если в строчке
Java
1
            Document doc = builder.parse(new InputSource(new ByteArrayInputStream(data.getBytes("utf-8"))));
им и не пахнет?
(если эту строчку заменить на
Java
1
Document doc = builder.parse(data);
то вылетает IOException )

Добавлено через 21 секунду
строка 56 в коде?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.06.2013, 00:17     Парсинг XML #12
ну так это просто две разные ошибки, если первая возникает, то к другой уже дело не доходит естественно.

Добавлено через 26 секунд
Цитата Сообщение от spydark91 Посмотреть сообщение
строка 56 в коде?
ну да.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:23  [ТС]     Парсинг XML #13
они у меня вот так выглядят, т.е. либо одно, либо другое
Java
1
2
            Document doc = builder.parse(new InputSource(new ByteArrayInputStream(data.getBytes("utf-8"))));  
        //  Document doc = builder.parse(data);
вроде не общитался, 56 строка это
Java
1
            NodeList nodes = doc.getElementsByTagName("userInfo");
опять же причем тут General_Activity..

Добавлено через 1 минуту
ну вернее понятно при чем, это происходит как раз в классе General_Activity, но в чем ошибка не понятно

Добавлено через 1 минуту
а нет, общитался
56 строчка закомментирована как раз
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.06.2013, 00:27     Парсинг XML #14
откройте General_Activity, нажмите Ctrl+L, введите 56 и нажмите ентер, так точно не ошибетесь
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90
14.06.2013, 00:27     Парсинг XML #15
а что ты запихнул в data? ты получаешь от интента ее, но что в ней находится?
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:35  [ТС]     Парсинг XML #16
в первом посте есть пример xml
data - строка, содержащая примерно такой контент

Добавлено через 1 минуту
теперь он мне тычет на 58 строку..( удалил кое что в подключаемых либах)
это строка
Java
1
Element element = (Element) nodes.item(0);
Добавлено через 2 минуты
не могут же мешать знаки перехода строки
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.06.2013, 00:35     Парсинг XML #17
ну и почему вы думаете что nodes.item(0) должен вернуть именно Element?
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:38  [ТС]     Парсинг XML #18
потому что тегов с именем userInfo всего один

Добавлено через 23 секунды
или это что-то другое?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.06.2013, 00:39     Парсинг XML #19
ну, коду, видимо, все равно один или два)

Добавлено через 48 секунд
Java
1
Log.v("log", ""+nodes.item(0));
узнаете тип.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 00:45     Парсинг XML
Еще ссылки по теме:

Android Парсинг XML с помощью Jsoup
Парсинг XML Android
Парсинг xml-файла Android
Android Парсинг большого xml
Android XML Парсинг (yml)

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

Или воспользуйтесь поиском по форуму:
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.06.2013, 00:45  [ТС]     Парсинг XML #20
06-13 20:42:21.762: V/log(14659): org.apache.harmony.xml.dom.ElementImpl@4054b038
хм..

Добавлено через 1 минуту
что бы это могло значить

Добавлено через 2 минуты
Java
1
2
3
NodeList nodes = doc.getElementsByTagName("userInfo"); // получаю список тегов с таким именем
            Element element = (Element) nodes.item(0);  // выбираю из этого списка первый( он тут всего один)
            NodeList title = ((Document) element).getElementsByTagName("string");// из этого выбранного тега получаю список тегов типа строка
правильно?
Yandex
Объявления
14.06.2013, 00:45     Парсинг XML
Ответ Создать тему
Опции темы

Текущее время: 18:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru