2013-04-16 6 views
0

XMLPullParser으로 XML 파일을 구문 분석하려고합니다. 내 코드는 다음과 같습니다 :구문 분석 XML 파일에서 null을 반환합니다.

try { 
    XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
    factory.setNamespaceAware(true); 
    XmlPullParser xpp = factory.newPullParser(); 

    xpp.setInput(new StringReader(iData)); 
    int eventType = xpp.getEventType(); 
    while (eventType != XmlPullParser.END_DOCUMENT) { 
     if (eventType == XmlPullParser.START_TAG) { 
      if (xpp.getName() == "service") { 
       sDetails[0] = xpp.getAttributeValue(1); 
      } 
      if (xpp.getName() == "username") { 
      sDetails[1] = xpp.nextText(); 
      } 
      if (xpp.getName() == "quota") { 
      sDetails[2] = xpp.nextText(); 
      } 
      if (xpp.getName() == "plan") { 
      sDetails[5] = xpp.nextText(); 
      } 
      if (xpp.getName() == "carrier") { 
      sDetails[4] = xpp.nextText(); 
      } 
      if (xpp.getName() == "speed") { 
      sDetails[3] = xpp.nextText(); 
      } 
      if (xpp.getName() == "usage-rating") { 
      sDetails[6] = xpp.nextText(); 
      } 
      if (xpp.getName() == "rollover") { 
      sDetails[7] = xpp.nextText(); 
      } 
      if (xpp.getName() == "excess-charged") { 
      sDetails[10] = xpp.nextText(); 
      } 
      if (xpp.getName() == "excess-shaped") { 
      sDetails[11] = xpp.nextText(); 
      } 
      if (xpp.getName() == "excess-restricted") { 
      sDetails[12] = xpp.nextText(); 
      } 
      if (xpp.getName() == "plan-interval") { 
      sDetails[8] = xpp.nextText(); 
      } 
      if (xpp.getName() == "plan-cost") { 
      sDetails[9] = xpp.nextText(); 
      } 
     } 
     eventType = xpp.next(); 
    } 
    String t = ""; 
    for (int i = 0; i < sDetails.length; i++) { 
     t = t + sDetails[i] + ","; 
    } 
    return t; 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

그러나 반환되는 값을 인쇄 할 때. 내가 얻는 것은 :

null,null,null,null,...,null,null, (13 Times) 

내가 뭔가를 잃어버린거야? 내가 읽고있는 XML 파일이 반환됩니다 (인쇄 할 수 있기 때문에). iData은 XML 파일이 포함 된 문자열입니다. 내가 사용하고있는 방법은 내 IF 문이 WHILE 안에있는 것을 제외하면 같은 위치의 다른 XML 파일에서 작동합니다. 왜 null에 대한 제안 사항이 반환됩니다.

답변

0

괜찮습니다. 나는 그것을 해결했다. ==을 사용하여 문자열을 비교할 수 없습니다. 나는 ==...getName().equals("blahblah")으로 바 꾸었습니다.