1.什么是XML?
XML就是可扩展标记语言。HTML是超文本标记语言。
标记语言就是通过一个一个的标记来组织数据的一种语法格式。
与HTML超文本标记语言比较的话XML这种可扩展标记语言它的标记是自己定义的。
XML中自己定义的标记表示:
例如:<标记名称 属性1="属性值" 属性2="属性值"...>具体数据</标记名称>
<标记名称>---开始标记
<标记名称 属性1="属性值" 属性2="属性值"...>---开始标记
</标记名称>---结束标记
2.XML的作用是什么?
存储数据的一种语法格式
它还可以是一种数据报交换格式。
3.如何编写XML文件?
我们现在需要将一个java对象组织成一个xml格式的数据,我们开看一下具体的做法。
public class Student{
private int stuid;
private String stuname;
private int stuage;
private String stuaddress;
getXXX()/set()XXX
}
Student student=new Student();
student.setStuid(1001);
student.setStuname("zhangsan");
student.setStuage(23);
student.setStuaddress("西安");
XML类型的数据/文件【student.xml】
<?xml version="1.0" encoding="utf-8"?> ---xml类型数据/文件的标识
<students> ---xml的根元素【必不可少】
<student stuid="1001"> ---xml的子元素,stuid="1001"就是当前子元素的一个属性
<stuname>zhangsan</stuname> ---xml元素的子子元素,zhangsan具体数据值
<stuage>23</stuage> ---xml元素的子子元素,23具体数据值
<stuaddress>西安</stuaddress> ---xml元素的子子元素,西安具体数据值
</student>
</students>
注意:1.<?xml version="1.0" encoding="utf-8"?>不能少
2.根元素只有一个,必不可少
3.具体的数据值都是由于子元素/子子【孙子】元素保存
4.如果是一个文件,那么文件的后缀名使用".xml"
我们现在需要将一个保存有java对象的集合/数组组织成一个xml格式的数据,我们来看一下具体的做法
public class Student{
private int stuid;
private String stuname;
private int stuage;
private String stuaddress;
.....
getXXX()/setXXX()
}
Student student1=new Student();
student1.setStuid(1001);
student1.setStuname("zhangsan");
student1.setStuage(23);
student1.setStuaddress("西安");
Student student2=new Student();
student2.setStuid(1002);
student2.setStuname("lisi");
student2.setStuage(24);
student2.setStuaddress("北京");
Student student3=new Student();
student3.setStuid(1003);
student3.setStuname("wangwu");
student3.setStuage(25);
student3.setStuaddress("上海");
List<Student> studentlist=new ArrayList<Student>();
studentlist.add(student1);
studentlist.add(student2);
studentlist.add(student3);
将上面的studentlist组织成xml数据/文件【student.xml】
<?xml version="1.0" encoding="utf-8"?>
<studentlist>
<student stuid="1001">
<stuname>zhangsan</stuname>
<stuage>23</stuage>
<stuaddress>西安</stuaddress>
</student>
<student stuid="1002">
<stuname>lisi</stuname>
<stuage>24</stuage>
<stuaddress>北京</stuaddress>
</student>
<student stuid="1003">
<stuname>wangwu</stuname>
<stuage>25</stuage>
<stuaddress>上海</stuaddress>
</student>
</studentlist>
注意:1.标记都是自己定义,没有固定的具体标记
2.子元素、子子元素是可以有多个的。
4.XML文件的生成
1.Dom生成
java默认的dom生成方式【jdk提供的java类】
例如:
package com.test1;
public class Student {
private int stuid;
private String stuname;
private int stuage;
private String stuaddress;
public int getStuid() {
return stuid;
}
public void setStuid(int stuid) {
this.stuid = stuid;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public int getStuage() {
return stuage;
}
public void setStuage(int stuage) {
this.stuage = stuage;
}
public String getStuaddress() {
return stuaddress;
}
public void setStuaddress(String stuaddress) {
this.stuaddress = stuaddress;
}
}
package com.test1;
import java.io.File;
import jav