xml解析---DOM
工程结构图:
[img]
[/img]
效果图:
[img]
[/img]
一、stu.xml
<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="1">
<name>tom</name>
<age>20</age>
</student>
<student id="2">
<name>kite</name>
<age>21</age>
</student>
<student id="3">
<name>rose</name>
<age>22</age>
</student>
</students>
布局文件放在src下,而不是com.amaker.dom包下
二、Student类:
package com.amaker.dom;
public class Student {
private int id;
private int age;
private String name;
/**
* 无参构造方法
*/
public Student() {
super();
}
/**
* 带参构造方法
*/
public Student(int id, int age, String name) {
super();
this.id = id;
this.age = age;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [age=" + age + ", id=" + id + ", name=" + name + "]";
}
}
三、解析类 Test:
package com.amaker.dom;
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 Test {
/**
* zzl
*/
public static void main(String[] args) {
List<Student> list = readXML();
for (Student s : list) {
System.out.println(s);
}
}
public static List<Student> readXML() {
InputStream in = new Test().getClass().getClassLoader()
.getResourceAsStream("stu.xml");
List<Student> stulist = new ArrayList<Student>();
Student currentStudent;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(in);
Element root = dom.getDocumentElement();
// 查找所有的student节点
NodeList items = root.getElementsByTagName("student");
for (int i = 0; i < items.getLength(); i++) {
currentStudent = new Student();
Element stuElement = (Element) items.item(i);
int id = Integer.parseInt(stuElement.getAttribute("id"));
currentStudent.setId(id);
NodeList stuNode = stuElement.getChildNodes();
for (int j = 0; j < stuNode.getLength(); j++) {
Node node = stuNode.item(j);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element eNode = (Element) node;
String data = eNode.getFirstChild().getNodeValue();
if (eNode.getTagName().equals("name")) {
currentStudent.setName(data);
}
if (eNode.getTagName().equals("age")) {
currentStudent.setId(Integer.parseInt(data));
}
}
}
stulist.add(currentStudent);
}
} catch (Exception e) {
e.printStackTrace();
}
return stulist;
}
}
- 大小: 10 KB
- 大小: 13.3 KB
分享到:
相关推荐
Xml之DOM解析--学生成绩管理系统 根据方立勋视频,自己敲出来的
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
XML解析四种解析方式 DOM SAX JDOM DOM4J
Android解析xml(2)---DOM解析
作为XML解析器,TinyXML-2具有以下特点: 1. 轻量级且易于集成:它体积小巧,代码简洁,易于集成到各种 C++ 项目中。 2. API简单易用:它提供了简单易用的 API,使得解析和操作 XML 数据变得简单快捷。开发者可以...
DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
DOM4j类包,已经打包,放在工程项目的BIN下
java中dom解析和sax解析xml文件对比示例!
NULL 博文链接:https://wang-peng1.iteye.com/blog/1145047
dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
dom4j---xml解析包,xml解析和以及使用java编写生成xml文件,两种使用方式,复杂和简单,必备神器
什么是 XML DOM? XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准编程接口 中立于平台和语言 W3C 标准 XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法(接口)。 换句话说:XML DOM 是用于...
DOM解析XML文件例子DOM解析XML文件例子DOM解析XML文件例子
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...
DOM解析XML 创建XML
dom解析XML dom解析XML dom解析XMLdom解析XML dom解析XML
Android使用Dom方式解析XML,虽然xml文件太大时不建议用dom方式解析,但是如果文件比较小,也不失为一种选择。项目中xml放在assets文件夹下,view绑定使用butterknife
完整的Oracle xmldom解析xml入参,经过测试,可以解析,成功入到数据表中。
DOM技术解析XML,获得XML文件中根节点以及所有子节点里面的信息。