【发布时间】:2023-03-22 02:44:01
【问题描述】:
我正在尝试从 sdcard 读取 xml 文件,但它不起作用。加载了空白活动并且 TextView 为空。如果我删除代码以读取 xml 并将文本设置为 t.setText("hello");它工作正常
代码在这里。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sdcard1);
TextView t;
t=(TextView) findViewById(R.id.T1);
try{
File f = new File(Environment.getExternalStorageDirectory()+"/page1.xml");
InputStream fileIS = new FileInputStream(f);
// InputStreamReader input= new InputStreamReader(fileIS);
xpp.setInput(fileIS,"UTF-8");
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT){
if(eventType == XmlPullParser.TEXT) {
t.setText(t.getText()+xpp.getText());
}
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
<?xml version="1.0" encoding="UTF-8"?>
<page1>
<Text1>Hello.</Text1>
<Text2>World!</Text2>
</page1>
和 sdcard/page1.xml 中的 xml 文件 我尝试了不同的方法,但没有奏效。 谢谢...
我发现现在我必须在while循环中写两行代码
eventType = xpp.next();
eventType = xpp.getEventType();
现在它工作正常!感谢您的帮助....
【问题讨论】:
-
你的意思是它不起作用?你有什么问题?你有什么问题?
-
我从sd卡中读取了一个文本文件,并成功显示在上面的TextView t;但是从 page1.xml 到 pullparser 的 readind 给出了一个空白页。这意味着 TextView t 是空的
标签: android xml-parsing xmlpullparser