2013-11-18 3 views
0

Я читал несколько примеров, но это не помогло мне в моем конкретном случае.Android Java - не может правильно использовать XmlPullParser

У меня book.xml который имеет метки, такие как:

<BOOK name="hereGoesName"> 
<CHAPTER number="1"> 
<LINE number="1"> 

и т.д ...

так, после прочтения примеров я сделал тестовый код:

XmlPullParser xpp; 
xpp = getResources().getXml(R.xml.book); 
int i=0;int chapter=3; 
    try { 
     while (i<chapter){ //chapter is the number of chapter I seek 
      if (xpp.getEventType()==XmlPullParser.START_TAG && xpp.getName()=="CHAPTER") {i++; Log.d("MyLog","seeked chapter i="+i);} 
     xpp.next(); 
     } 

Так , этим я пытаюсь подсчитать третий тег с именем ГЛАВА, но выполнение этого кода навсегда остановит мой телефон. Это означает, что либо мой код неправильный, либо он прав, но тег CHAPTER не найден.

Но если я размещаю Log.d("MyLog", xpp.getName()); - он точно показывает мне ГЛАВА как тег.

Пожалуйста, любой решает это для меня и, что более важно, как я могу искать не только для ГЛАВА, но, например, <CHAPTER number="3">, если xpp.getName() просто ГЛАВА?

ответ

0

Использование xpp.getName(). Равно ("Глава") вместо xpp.getName() == "Глава"

+0

Вы также можете проверить getAttributeValue(), чтобы соответствовать номер главы – iago

+0

Thanx много! Это то, что мне нужно. Странно, getText() возвращает null – user2976267

+0

Я думаю, что getText() используется для получения значения внутри тегов, таких как получение науки от Наука iago

Смежные вопросы