2016-06-21 3 views
0

XmlPullParserを使用してXMLを解析するXMLを試みていますが、結果として常にnullになっています。私はAndroid:XmlPullParser getAttributeValueはnullを返します

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(); 
} 

各ノード値XMLPullParserを読みしようとしています

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

は結果としてnull値を取得しています。

誰でも助けてください。

答えて

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(); 
} 
関連する問題