博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dom解析xml
阅读量:6423 次
发布时间:2019-06-23

本文共 3274 字,大约阅读时间需要 10 分钟。

public class MainActivity extends Activity {              // 存储最终在前台显示的内容      private String result = "";      private ArrayList
beautyList = new ArrayList
(); private Beauty beauty = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); InputStream inputStream = this.getClassLoader().getResourceAsStream("beautiful.xml"); try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(inputStream); // 获取根节点 Element root = document.getDocumentElement(); parse(root); for (Beauty b : beautyList) { result += b.toString(); } TextView textView = (TextView) findViewById(R.id.textView); textView.setText(result); }catch (Exception e) { e.printStackTrace(); } } /* * @param element 将要进行遍历的节点 */ private void parse(Element element) { NodeList nodelist = element.getChildNodes(); int size = nodelist.getLength(); for (int i = 0; i < size; i++) { // 获取特定位置的node Node element2 = (Node) nodelist.item(i); String tagName = element2.getNodeName(); if (tagName.equals("beauty") && element2.getNodeType() == Document.ELEMENT_NODE){ beauty = new Beauty(); Log.i("通知:", "创建beauty"); if (element2.getNodeType() == Document.ELEMENT_NODE) { parse((Element) element2); } Log.i("通知:", "添加beauty"); beautyList.add(beauty); } if (tagName.equals("name")) { String name = element2.getTextContent(); Log.i("通知:", "name" + name); beauty.setName(name); } if (tagName.equals("age")) { String age = element2.getTextContent(); Log.i("通知:", "age" + age); beauty.setAge(age); } } } /** * @author chenzheng_java 这里使用内部类是为了效率考虑,内部类要比单独顶一个bean类更加的高效以及节约空间 */ private class Beauty { String name;String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "美女资料 [年龄=" + age + ", 姓名=" + name + "]"; } } }

 

转载于:https://www.cnblogs.com/Jackie-zhang/p/10503945.html

你可能感兴趣的文章
SQL中的ROW_NUMBER()和while循环对每一行执行操作
查看>>
Java使用XFire调用WebService接口
查看>>
拦路虎
查看>>
「项目已被 macOS 使用,不能打开」的处理办法
查看>>
nginx入门
查看>>
command shortcut paste
查看>>
data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘...
查看>>
阅读《构建之法》第6 第7章
查看>>
sql 获取一个周的周一和周日
查看>>
Python知识点-py2和py3编码
查看>>
ps -ef | grep java
查看>>
该如何来开发这个喜欢的功能呢?
查看>>
el表达式的转义字符。
查看>>
Thinkphp3.2在IIS中使用ISAPI_Rewrite去除index.php
查看>>
基础计算几何
查看>>
第二章 例题2-5 计算银行存款的本息
查看>>
前端开发-Weex初试
查看>>
oracle 11G创建表空间、用户、配置监听和TNS
查看>>
刷题计划(暑假)
查看>>
关于sql server 的那些事
查看>>