工作中常用的XML解析Java代码实现
来源:互联网 发布:上市的大数据公司 编辑:程序博客网 时间:2024/05/17 18:48
以下XML为例 进行Java代码解析
<?xml version="1.0" encoding="UTF-8"?><students><student><name>刘诗诗</name><age>26</age></student><student><name>杨幂</name><age>28</age></student></students>
定义一个JavaBean进行解析
<pre name="code" class="html">package cn.an0327.pull;
public class Student {private String name;private 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;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + "]";}}
代码实现
<pre name="code" class="html">import java.io.FileInputStream;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserFactory;public class TestPull01 {/** * 1、创建解析器工厂 * 2、根据解析器工厂创建解析器 * 3、把要操作的文件放到解析器里面 */public static void main(String[] args) throws Exception {//创建解析器工厂XmlPullParserFactory factory = XmlPullParserFactory.newInstance();//根据工厂创建解析器XmlPullParser parser = factory.newPullParser();//得到要操作文件的输入流InputStream in = new FileInputStream("src/stu.xml");//把要操作的文件放到解析器里面parser.setInput(in, "utf-8");//开始解析int type = 0;List<Student> list = null;Student student = null;//如果当前解析到的标签,不是文档的结束,继续操作while((type=parser.getEventType())!=XmlPullParser.END_DOCUMENT) {//得到当前解析的标签的名称String tagName = parser.getName();/* * 1、如果解析到students ,创建list集合 * 2、如果解析到student,创建student对象 * 3、如果解析到name和age,获取标签里面内容 * 4、把内容放到student对象里面 * */switch(type) {case XmlPullParser.START_TAG:if("students".equals(tagName)) {//创建list集合list = new ArrayList<Student>();} else if("student".equals(tagName)) {student = new Student();} else if("name".equals(tagName)) {//得到标签里面的值String name = parser.nextText();//把name值放到对象里面student.setName(name);} else if("age".equals(tagName)) {String age = parser.nextText();student.setAge(age);}break;case XmlPullParser.END_TAG://当解析到结束的student时候,把对象放到list里面if("student".equals(tagName)) {list.add(student);}break;}//向下执行parser.next();}//遍历list集合for (Student stu : list) {System.out.println(stu.toString());}}}
1 0
- 工作中常用的XML解析Java代码实现
- 工作中常用的gson解析
- Java 中DOM解析XML的递归实现
- java中xml的解析
- JAVA中XML的解析
- java中XML的解析
- jdk 中常用的 xml 数据解析
- JS解析XML的实现代码
- JS解析XML的实现代码
- JS解析XML的实现代码
- JS解析XML的实现代码
- Java中解析XML的四种常用方法(1)_DOM解析
- Java中解析XML的四种常用方法(2)_SAX解析
- Java中解析XML的四种常用方法(3)_JDOM解析
- Java中解析XML的四种常用方法(4)_DOM4J解析
- unity基础开发----常用代码Unity中解析XML
- Java中对XML格式数据的四种解析方式,代码示例解析
- 使用Java的JDOM解析xml代码
- TreeView的子节点和父节点级联选中
- 折半插入排序
- 使用TLS加密Docker的API
- Java集合之Map
- Android MessageQueue源码分析
- 工作中常用的XML解析Java代码实现
- Apache POI导出大数据量Excel文件导致Full GC的解决办法
- python中xrange和range的异同
- EventBus实现Activity与Service通信
- dfd
- 如何制作数字货币
- iOS实战——autoreleasepool
- 系统故障、程序失败和错误修正
- Map task 内部实现原理和运行机制