pull解析assets文件夹里的xml文件
#pull解析assets文件夹里的xml文件
assets文件夹的使用
在main文件夹右击创建directory,命名为assets
pull解析xml
解析到的结果保存以sms的形式保存在集合中
//解析xml方法
private void Jxml() {
List<Sms> persons = null;
Sms person = null;
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
//获取assets中的xml文件
InputStream inputStream = getResources().getAssets().open("persons.xml");
parser.setInput(inputStream, "utf-8");
int type = parser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String name = parser.getName();//获取当前节点的名称
switch (type) {
case XmlPullParser.START_DOCUMENT:
persons = new ArrayList<>();
case XmlPullParser.START_TAG://开始节点
if ("sms".equals(name)) {
person = new Sms();
} else if (person != null) {
if ("body".equals(name)) {
String text = parser.nextText();
person.setBody(text);
} else if ("date".equals(name)) {
String text = parser.nextText();
person.setDate(text);
}
}
break;
case XmlPullParser.END_TAG:
if ("sms".equals(name)) {
persons.add(person);
person = null;
}
break;
}
type = parser.next();
}
Log.e("da", persons.toString());
// tvChara.setText(person.toString());
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
自定义sms
class Sms {
private String body;
private String date;
private String type;
private String address;
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Sms{" +
"body='" + body + '\'' +
", date='" + date + '\'' +
", type='" + type + '\'' +
", address='" + address + '\'' +
'}';
}
}
xml文件
person.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<sms>
<body>m</body>
<date>y</date>
<address>p</address>
<type>q</type>
</sms>
<sms>
<body>第1条短信</body>
<date>1465041254179</date>
<address>111</address>
<type>1</type>
</sms>
<sms>
<body>第2条短信</body>
<date>1465041254179</date>
<address>222</address>
<type>1</type>
</sms>
</persons>