【Android】XML文件的解析
1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下:
1 <?xml version="1.0" encoding="utf-8"?>
2 <email>
3 <from>123@163.com</from>
4 <to>456@gmail.com</to>
5 <date>2016/4/5</date>
6 <title>xml parse</title>
7 <content>Hello World!</content>
8 </email>
2. 用java代码对上述xml文件进行简单解析,并将解析的信息通过TextView显示出来:
1 private void parseXml() {
2 try {
3 // --- 获取xml文件到输入流变量
4 InputStream stream = getResources().openRawResource(R.raw.email);
5 stream.reset();
6 // --- 开始解析 xml 文件
7 DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
8 Document doc = builder.parse(stream);
9 Node root = doc.getFirstChild();
10 NodeList nodeList = root.getChildNodes();
11 String info = "";
12 // --- 循环读取每个子节点的信息
13 for (int i = 0; i < nodeList.getLength(); i++) {
14 Node item = nodeList.item(i);
15 info += item.getTextContent() + "\n";
16 }
17 // --- 输出解析结果
18 TextView tvInfo = (TextView)findViewById(R.id.tvInfo);
19 tvInfo.setText(info);
20 }
21 catch (Exception e) {
22 e.printStackTrace();
23 }
24 }
最终效果如下:
以上就是对xml文档进行的简单解析,另外我们还可以为每个节点加入id及其他各种属性等。我们可以通过
getElementsByTagName();
getAttributes();
getChildNodes();
replaceChild(Node newChild, Node oldChild);
removeChild(Node oldChild);
等方法进行读写和修改。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?