xml tutorials
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>net.aimeizi</groupId>
|
||||
<artifactId>xml-tutorials</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
<artifactId>xml-xmlpull-example</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<xpp3.version>1.1.4c</xpp3.version>
|
||||
<xmlpull.version>1.1.3.1</xmlpull.version>
|
||||
<kxml2.version>2.3.0</kxml2.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>xpp3</groupId>
|
||||
<artifactId>xpp3</artifactId>
|
||||
<version>${xpp3.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>xmlpull</groupId>
|
||||
<artifactId>xmlpull</artifactId>
|
||||
<version>${xmlpull.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>kxml2</groupId>
|
||||
<artifactId>kxml2</artifactId>
|
||||
<version>${kxml2.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package net.aimeizi.xmlpull.example;
|
||||
|
||||
public class Student {
|
||||
|
||||
private int id;
|
||||
private int group;
|
||||
private String name;
|
||||
private String sex;
|
||||
private int age;
|
||||
private String email;
|
||||
private String memo;
|
||||
private String birthday;
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
public int getGroup() {
|
||||
return group;
|
||||
}
|
||||
public void setGroup(int group) {
|
||||
this.group = group;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
public String getMemo() {
|
||||
return memo;
|
||||
}
|
||||
public void setMemo(String memo) {
|
||||
this.memo = memo;
|
||||
}
|
||||
public String getBirthday() {
|
||||
return birthday;
|
||||
}
|
||||
public void setBirthday(String birthday) {
|
||||
this.birthday = birthday;
|
||||
}
|
||||
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
package net.aimeizi.xmlpull.example;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
import org.kxml2.io.KXmlSerializer;
|
||||
import org.xmlpull.v1.XmlSerializer;
|
||||
|
||||
/**
|
||||
* 使用xmlpull api创建xml
|
||||
* @author welcome
|
||||
*
|
||||
*/
|
||||
public class XmlPullCreateXML {
|
||||
|
||||
public static void main(String[] args) throws Exception{
|
||||
XmlSerializer xmlSerializer=new KXmlSerializer();
|
||||
xmlSerializer.setOutput(new FileOutputStream(new File("target/student.xml")), "utf-8");
|
||||
xmlSerializer.startDocument(null, true);
|
||||
xmlSerializer.startTag(null, "data");
|
||||
for (int i = 0; i < 10; i++) {
|
||||
xmlSerializer.startTag(null, "student");
|
||||
xmlSerializer.attribute(null, "id", ""+(i+1));
|
||||
|
||||
xmlSerializer.startTag(null, "name");
|
||||
xmlSerializer.text("student"+i);
|
||||
xmlSerializer.endTag(null, "name");
|
||||
|
||||
xmlSerializer.startTag(null, "age");
|
||||
xmlSerializer.text((i+10)+"");
|
||||
xmlSerializer.endTag(null, "age");
|
||||
|
||||
|
||||
xmlSerializer.startTag(null, "sex");
|
||||
if(i%2==0){
|
||||
xmlSerializer.text("女");
|
||||
}else{
|
||||
xmlSerializer.text("男");
|
||||
}
|
||||
xmlSerializer.endTag(null, "sex");
|
||||
|
||||
|
||||
xmlSerializer.startTag(null, "address");
|
||||
xmlSerializer.text("陕西西安");
|
||||
xmlSerializer.endTag(null, "address");
|
||||
|
||||
xmlSerializer.endTag(null, "student");
|
||||
}
|
||||
|
||||
xmlSerializer.endTag(null, "data");
|
||||
|
||||
xmlSerializer.endDocument();
|
||||
|
||||
xmlSerializer.flush();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
package net.aimeizi.xmlpull.example;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
import org.xmlpull.v1.XmlPullParserFactory;
|
||||
|
||||
/**
|
||||
* 使用xmlpull解析xml
|
||||
* @author welcome
|
||||
*
|
||||
*/
|
||||
public class XmlPullParseXml {
|
||||
|
||||
public List<Student> PullParseXML(){
|
||||
|
||||
List<Student> list=null;
|
||||
Student student = null;
|
||||
|
||||
//构建XmlPullParserFactory
|
||||
try {
|
||||
XmlPullParserFactory pullParserFactory=XmlPullParserFactory.newInstance();
|
||||
//获取XmlPullParser的实例
|
||||
XmlPullParser xmlPullParser=pullParserFactory.newPullParser();
|
||||
//设置输入流 xml文件
|
||||
xmlPullParser.setInput(ClassLoader.getSystemResourceAsStream("Student.xml"), "UTF-8");
|
||||
|
||||
//开始
|
||||
int eventType=xmlPullParser.getEventType();
|
||||
|
||||
try {
|
||||
while(eventType!=XmlPullParser.END_DOCUMENT){
|
||||
String nodeName=xmlPullParser.getName();
|
||||
switch (eventType) {
|
||||
//文档开始
|
||||
case XmlPullParser.START_DOCUMENT:
|
||||
list=new ArrayList<Student>();
|
||||
break;
|
||||
//开始节点
|
||||
case XmlPullParser.START_TAG:
|
||||
//判断如果其实节点为student
|
||||
if("student".equals(nodeName)){
|
||||
//实例化student对象
|
||||
student=new Student();
|
||||
//设置Id属性
|
||||
student.setId(Integer.parseInt(xmlPullParser.getAttributeValue(0)));
|
||||
//设置Group属性
|
||||
student.setGroup(Integer.parseInt(xmlPullParser.getAttributeValue(1)));
|
||||
}else if("name".equals(nodeName)){
|
||||
//设置name
|
||||
student.setName(xmlPullParser.nextText());
|
||||
}else if("sex".equals(nodeName)){
|
||||
//设置sex
|
||||
student.setSex(xmlPullParser.nextText());
|
||||
}else if("age".equals(nodeName)){
|
||||
//设置age
|
||||
student.setAge(Integer.parseInt(xmlPullParser.nextText()));
|
||||
}else if("email".equals(nodeName)){
|
||||
//设置email
|
||||
student.setEmail(xmlPullParser.nextText());
|
||||
}else if("birthday".equals(nodeName)){
|
||||
//设置birthday
|
||||
student.setBirthday(xmlPullParser.nextText());
|
||||
}else if("memo".equals(nodeName)){
|
||||
//设置memo属性
|
||||
student.setMemo(xmlPullParser.nextText());
|
||||
}
|
||||
break;
|
||||
//结束节点
|
||||
case XmlPullParser.END_TAG:
|
||||
if("student".equals(nodeName)){
|
||||
list.add(student);
|
||||
student=null;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
eventType=xmlPullParser.next();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (XmlPullParserException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<Student> list=new XmlPullParseXml().PullParseXML();
|
||||
for(Student student:list){
|
||||
System.out.println("id:"+student.getId()+"\tgroup:"+student.getGroup()+"\tname:"+student.getName()+"\tsex:"+student.getSex()+"\tage:"+student.getAge()+"\temail:"+student.getEmail()+"\tbirthday:"+student.getBirthday()+"\tmemo:"+student.getMemo());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<student id="1" group="1">
|
||||
<name>张三</name>
|
||||
<sex>男</sex>
|
||||
<age>18</age>
|
||||
<email>zhangsan@163.com</email>
|
||||
<birthday>1987-06-08</birthday>
|
||||
<memo>好学生</memo>
|
||||
</student>
|
||||
<student id="2" group="2">
|
||||
<name>李四</name>
|
||||
<sex>女</sex>
|
||||
<age>18</age>
|
||||
<email>lisi@163.com</email>
|
||||
<birthday>1987-06-08</birthday>
|
||||
<memo>好学生</memo>
|
||||
</student>
|
||||
<student id="3" group="3">
|
||||
<name>小王</name>
|
||||
<sex>男</sex>
|
||||
<age>18</age>
|
||||
<email>xiaowang@163.com</email>
|
||||
<birthday>1987-06-08</birthday>
|
||||
<memo>好学生</memo>
|
||||
</student>
|
||||
<student id="4" group="4">
|
||||
<name>小张</name>
|
||||
<sex>男</sex>
|
||||
<age>18</age>
|
||||
<email>xiaozhang@163.com</email>
|
||||
<birthday>1987-06-08</birthday>
|
||||
<memo>好学生</memo>
|
||||
</student>
|
||||
<student id="5" group="5">
|
||||
<name>小明</name>
|
||||
<sex>男</sex>
|
||||
<age>18</age>
|
||||
<email>xiaoming@163.com</email>
|
||||
<birthday>1987-06-08</birthday>
|
||||
<memo>好学生</memo>
|
||||
</student>
|
||||
</root>
|
||||
Reference in New Issue
Block a user