2016-06-21 4 views
0

XmlPullParser을 사용하여 XML을 구문 분석하는 SOAP을 시도하고 있습니다. 결과적으로 항상 null이 발생합니다. Android : XmlPullParser getAttributeValue가 null을 반환합니다.

<soap:Body> 
<Quote> 
<ROLE>Error</ROLE> 
<ERRORCODE>3</ERRORCODE> 
<ERRORSTRING>Username and password wrong!!!</ERRORSTRING> 
</Quote> 
</soap:Body> 
</soap:Envelope> 

나는
XmlPullParserFactory xmlFactoryObject = XmlPullParserFactory.newInstance(); 
XmlPullParser myparser = xmlFactoryObject.newPullParser(); 
myparser.setInput(inputStream, null); 
int event = myparser.getEventType(); 
while (event != XmlPullParser.END_DOCUMENT) 
{ 
    String name=myparser.getName(); 
    switch (event){ 
    case XmlPullParser.START_TAG: 
    if(name.equals("ERRORSTRING")){ 
    Log.e("Tag ","if xml data "+myparser.getAttributeValue(name,"value")); 
    } 
    break; 
    case XmlPullParser.END_TAG: 
    if(name.equals("Quote")){ 
    Log.e("Tag ","xml data "+myparser.getAttributeValue(null,"ERRORSTRING")); 
    } 
    break; 
    } 
    event = myparser.next(); 
} 

이 결과로 null 값을 얻고 각 노드 값 XMLPullParser을 읽으려고하고있다.

아무도 도와 줄 수 있습니까?

답변

0

이렇게하세요.

XmlPullParserFactory xmlFactoryObject = XmlPullParserFactory.newInstance(); 
XmlPullParser myparser = xmlFactoryObject.newPullParser(); 
myparser.setInput(inputStream, null); 
int event = myparser.getEventType(); 
while (event != XmlPullParser.END_DOCUMENT) 
{ 
    String name=myparser.getName(); 
    switch (event){ 
    case XmlPullParser.START_TAG: 
    if(name.equals("ERRORSTRING")){ 
    Log.e("Tag ","if xml data "+myparser.getAttributeValue(name,"value")); 
    if(name.equals("Quote")){ 
    Log.e("Tag ","xml data "+myparser.getAttributeValue(null,"ERRORSTRING")); 
    } 
    break; 

    case XmlPullParser.END_TAG: 
    break; 
    } 
    event = myparser.next(); 
} 
관련 문제