Android 解析XML文件返回空值
我正在尝试使用Android 解析XML文件返回空值,android,xml,xml-parsing,null,xmlpullparser,Android,Xml,Xml Parsing,Null,Xmlpullparser,我正在尝试使用XMLPullParser解析XML文件。我的代码如下: try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); xpp.setInput(new StringReader(iData)); int
XMLPullParser
解析XML文件。我的代码如下:
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();
}
我错过什么了吗?返回我正在读取的XML文件(我知道,因为我可以打印它)
iData
是包含XML文件的字符串。我使用的方法适用于同一位置的另一个XML文件,除了中的IF
语句不同之外。任何关于null
原因的建议都会被返回。没问题。我解决了。无法使用==
比较字符串。我将==
更改为..getName().equals(“blahblah”)
,它成功了
null,null,null,null,...,null,null, (13 Times)