Android XmlPullParser
public class PersonService {
/**
* 接收一个包含XML文件的输入流, 解析出XML中的Person对象, 装入一个List返回
* @param in 包含XML数据的输入流
* @return 包含Person对象的List集合
*/
public List
//1.获取xml文件
InputStream is = PersonService.class.getClassLoader().getResourceAsStream();
//2.获取解析器(Android中提供了方便的方法就是使用Android中的工具类Xml)
XmlPullParser parser = Xml.newPullParser();
//3.解析器解析xml文件
parser.setInput(in, "UTF-8");
List
Person p = null;
//4.循环解析
for (int type = parser.getEventType(); type != XmlPullParser.END_DOCUMENT; type = parser.next()) { // 循环解析
if (type == XmlPullParser.START_TAG) { // 判断如果遇到开始标签事件
if ("person".equals(parser.getName())) { // 标签名为person
p = new Person(); // 创建Person对象
String id = parser.getAttributeValue(0); // 获取属性
p.setId(Integer.parseInt(id)); // 设置ID
persons.add(p); // 把Person对象装入集合
} else if ("name".equals(parser.getName())) { // 标签名为name
String name = parser.nextText(); // 获取下一个文本
p.setName(name); // 设置name
} else if ("age".equals(parser.getName())) { // 标签名为age
String age = parser.nextText(); // 获取下一个文本
p.setAge(Integer.parseInt(age)); // 设置age
}
}
}
return persons;
}
/**
*将数据写入到Xml文件中.
*@param out 输出到要被写入数据的Xml文件的输出流//就相当于 OutputStream os = new FileOutputStream("a.xml");
*/
public void writePersons(List
//1.获得XmlSerializer(Xml序列化工具)(通过Android中的工具类Xml得到)
XmlSerializer serializer = Xml.newSerializer();
//2.设置输出流(明确要将数据写入那个xml文件中)
serializer.setOutput(out, "UTF-8");
//3.写入开始文档
serializer.startDocument("UTF-8", true);
//4.开始标签
serializer.startTag(null, "bookstore");
//5.循环遍历
for (Book p : books) {
//6.开始标签
serializer.startTag(null, "book");
//7.给这个标签设置属性
serializer.attribute(null, "id", book.getId().toString());
//8.子标签
serializer.startTag(null, "name");
//9.设置子标签的内容
serializer.text(book.getName());
//10.子标签结束
serializer.endTag(null, "name");
//11.标签结束
serializer.endTag(null, "person");
}
//12.根标签结束
serializer.endTag(null, "persons");
//13.文档结束
serializer.endDocument();
}
}
上一篇 Android Wifi状态监听
下一篇 Android 安全退出应用程序
Python教程
Python 教程
Tkinter 教程
Pandas 教程
NumPy 教程
Flask 教程
Django 教程
PySpark 教程
wxPython 教程
SymPy 教程
Seaborn 教程
SciPy 教程
RxPY 教程
Pycharm 教程
Pygame 教程
PyGTK 教程
PyQt 教程
PyQt5 教程
PyTorch 教程
Matplotlib 教程
Web2py 教程
BeautifulSoup 教程
Java教程
Java 教程
Web教程
HTML 教程
CSS 教程
CSS3 教程
jQuery 教程
Ajax 教程
AngularJS 教程
TypeScript 教程
WordPress 教程
Laravel 教程
Next.js 教程
PhantomJS 教程
Three.js 教程
Underscore.JS 教程
WebGL 教程
WebRTC 教程
VueJS 教程
数据库教程
SQL 教程
MySQL 教程
MongoDB 教程
PostgreSQL 教程
SQLite 教程
Redis 教程
MariaDB 教程
图形图像教程
Vulkan 教程
OpenCV 教程
大数据教程
R语言 教程
开发工具教程
Git 教程
VSCode 教程
Docker 教程
Gerrit 教程
Excel 教程
计算机教程
Go语言 教程
C++ 教程