Android--DOM解析XML
来源:互联网 发布:福利彩票分析软件 编辑:程序博客网 时间:2024/04/27 11:58
Person.java
package com.belmeng.xml;public class Person{private String id;private String name;private String age;public String getId(){return id;}public void setId(String id){this.id = id;}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;}}
DomService.java
package com.belmeng.xml;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class DomService{public static List<Person> readXml(InputStream inputStream) throws Exception{List<Person> persons = new ArrayList<Person>();DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = builderFactory.newDocumentBuilder();Document document = builder.parse(inputStream);Element root = document.getDocumentElement();NodeList list = root.getElementsByTagName("person");for (int i = 0; i < list.getLength(); i++){Person person = new Person();Element personElement = (Element) list.item(i);person.setId(personElement.getAttribute("id"));NodeList nodeList = personElement.getChildNodes();for (int j = 0; j < nodeList.getLength(); j++){Node node = nodeList.item(j);if (node.getNodeType() == Element.ELEMENT_NODE){Element element = (Element) node;if ("name".equals(element.getNodeName())){String string = element.getFirstChild().getNodeValue();person.setName(string);} else if ("age".equals(element.getNodeName())){person.setId(element.getFirstChild().getNodeName());}}}persons.add(person);}return persons;}}
MainActivity.java
package com.belmeng.xml;import java.io.InputStream;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;/* * 使用SAX解析XML */public class MainActivity extends Activity{private Button read;private TextView textView;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);read = (Button) findViewById(R.id.read);textView = (TextView) findViewById(R.id.text);read.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){// InputStream inputStream =// getResources().openRawResource(R.xml.person);InputStream inputStream = MainActivity.class.getResourceAsStream("person.xml");List<Person> persons;try{persons = DomService.readXml(inputStream);textView.setText(persons.get(0).getName());} catch (Exception e){// TODO Auto-generated catch blocke.printStackTrace();}}});}}
person.xml //xml文件放到MainActivity.class同一个目录下面
<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>wjh</name> <age>25</age> </person> <person id="20"> <name>wjh2</name> <age>30</age> </person> </persons>
- Android--xml解析(Dom)
- Android--DOM解析XML
- Android DOM解析XML
- Android DOM解析XML
- android--------------xml Dom解析
- android DOM解析Xml
- Android DOM解析XML
- Android DOM解析xml
- android DOM解析XML
- android DOM解析Xml
- Android--xml解析(Dom)
- Android:Dom解析XML
- android dom解析xml
- Android dom解析XML数据
- android之dom解析xml
- Android 解析xml 之DOM
- Android使用DOM解析xml
- android dom 解析xml方式
- 单例模式的一些弊端
- VS2005下断点无效 解决方法
- VS2005下使用VC,部分断点无效,显示『当前不会命中断点。还没有为该文档加载任何符号』
- Java中getResourceAsStream的用法
- 数组如何声明与初始化?
- Android--DOM解析XML
- 变参宏
- python partial function
- IIS下载一直是原文件的问题
- sql server死锁原因(转自:http://www.lao8.org/html/8/2009-7-19/2009719133547.html)
- codeblocks添加调试宏
- 什么是List?如何声明与初始化?引用类型 ?值类型(value type)?装箱 (boxing)?
- android_xml解析之 使用SAX读取XML文件
- 试卷2