2012-09-01 2 views
0

Я читаю из XML-файла с помощью XML Parser.XML Parser возвращает нуль в качестве первой строки

XML Parser считывает первую строку как null и затем возвращает другие данные из созданного таким образом файла xml.

Ниже приводится XML Синтаксический код:

XmlResourceParser parser = getResources().getXml(R.xml.contacts); 

     int eventType = -1; 
     try { 
      while (eventType != XmlResourceParser.END_DOCUMENT) 
      { 
       if(eventType == XmlResourceParser.START_TAG) 
       { 
        if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null")) 
         col.append(parser.getAttributeValue(null, "name") + "\n"); 
         col.append(parser.getAttributeValue(null, "phone") + "\n \n"); 
       } 
       eventType = parser.next(); 
      } 
     } 
     catch (XmlPullParserException e) { 

      e.printStackTrace(); 
     } 

Ниже приводится XML файла:

<?xml version="1.0" encoding="utf-8"?> 
<contacts> 
    <contact name="Prathama Blood Center" phone="079 26600101" /> 
    <contact name="Green Cross" phone="079 25507013"/> 
    <contact name="Crossworld Blood Bank" phone="079 26568004"/> 
    <contact name="Adarsh Voluntary Blood Bank" phone="079 22746672"/> 
    <contact name="Red Cross" phone="079 27551790"/> 
</contacts> 

Ниже приводится экран я получаю:

enter image description here

+1

'parser.getName() ToString() равно («Контакт») && parser.getName(). toString(). equals ("null") 'Я не думаю, что это когда-нибудь вернет 'true'? – Aprian

ответ

2

Прямо сейчас объем вашего if распространяется только на первый col.append я не знаю, почему вам нужно, что если заявление (потому что его никогда не правда) Вот то, что область должна быть:..

if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null")) 
{ //here 
    col.append(parser.getAttributeValue(null, "name") + "\n"); 
    col.append(parser.getAttributeValue(null, "phone") + "\n \n"); 
}//and here 

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

  • Нет связанных вопросов^_^