【发布时间】:2011-12-20 17:04:36
【问题描述】:
我正在尝试使用 getResources().getXml 以便可以访问“res”文件夹中的 XML 文件。显然,从我读过的内容来看,我需要这样的东西:
XmlPullParser xpp = context.getResources().getXml(R.xml.encounters);
所以我把它放进去,我还导入了“android.content.Context”
但我不断收到关于“上下文”的错误消息:无法对非静态字段上下文进行静态引用
有没有办法解决这个问题?
这是我的全部代码:
package t.HelloAndroid;
import java.io.IOException;
import java.io.StringReader;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.content.res.XmlResourceParser;
import android.content.Context;
import android.app.Activity;
public class XmlParser {
public static void main (String args[])
throws XmlPullParserException, IOException
{
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
//XmlResourceParser xrp = context.getResources().getXml(R.xml.encounters);
XmlPullParser xpp = context.getResources().getXml(R.xml.encounters);
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag "+xpp.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("End tag "+xpp.getName());
} else if(eventType == XmlPullParser.TEXT) {
System.out.println("Text "+xpp.getText());
}
eventType = xpp.next();
}
System.out.println("End document");
}
}
【问题讨论】:
-
我有这个:public class XmlParser { private Context context; public static void main (String args[]) throws XmlPullParserException, IOException { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); //XmlResourceParser xrp = context.getResources().getXml(R.xml.encounters); XmlPullParser xpp = context.getResources().getXml(R.xml.encounters);
-
抱歉,格式看起来很糟糕
-
您可以编辑原始帖子以将代码放入其中。
-
好主意,我没想到
标签: android