2013-12-18 3 views
1

У меня есть файл XML с некоторыми строками:XMLPullParser Android тест для атрибута

<string>foo</string> 

и некоторые строки содержат HREF атрибута:

<string href="http://www.google.com/">foo2</string> 

Я использую XMLPullParser разобрать этот XML в моем Android приложение. Однако мне нужно проверить, содержит ли элемент xml атрибут href. Или любой атрибут вообще. Я попытался с помощью этого:

private boolean testForHref(String tag) throws IOException, XmlPullParserException{ 
    try{ 
     parser.getAttributeValue(NULL, tag); 
     System.out.println("href attribute is here!"); 
     return true; 
    }catch (Exception e){ 
     System.out.println("href attribute is not here!"); 
     return false; 
    } 

} 

Но это всегда возвращает ложь. Кто-нибудь знает, как сделать этот тест?

ответ

4

Применение

String relType = parser.getAttributeValue(null, "href"); 

Для получения дополнительной информации проверить readLink метод в примере ниже синтаксического анализатора

http://developer.android.com/training/basics/network-ops/xml.html

Пример:

Xml

<mojiva> // root tag 
<string href="10.80.30.10/tracker">Issue tracker</string> // string tag with attribute 
</mojiva> 

Синтаксический

parser.require(XmlPullParser.START_TAG, ns, "mojiva"); 
    while (parser.next() != XmlPullParser.END_TAG) { 
     if (parser.getEventType() != XmlPullParser.START_TAG) { 
      continue; 
     } 
     String name = parser.getName(); 
     if (name.equals("string")) { 
      String relType = parser.getAttributeValue(null, "href"); 
      Log.i("....................","Hello......"+relType); 

     } else { 
      skip(parser); 
     } 
    } 

Вход

12-18 03:26:41.052: I/....................(1417): Hello......10.80.30.10/tracker 
+0

Это постоянно возвращается нуль на это: <строка HREF = "http://10.80.30.10/tracker"> Выпуск трекер –

+0

@BlackMagic он будет работать. Я не знаю, как вы проводите наш синтаксический анализ. – Raghunandan

+0

@BlackMagic проверить редактирование, которое я пробовал, прежде чем публиковать его здесь – Raghunandan

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