1.什么是XML,XML的作用是什么,如何编写XML文件?
XML就是可扩展标记语言。与HTML相似都是标记语言。
XML提供的标记都是自定义的;HTML提供的标记都是预先定义好的。
XML用来存储数据的文本格式;HTML是同来设计网页。
XML是一种简单的数据存储语言。
如何编写XML文件?
一个简单的XML文件格式
<?xml version="1.0" encoding=”utf-8”?>
<students>
<student id=”1001” >
<name>zhangsan</name>
<age>23</age>
<sex>男</sex>
</student>
<student id=”1002”>
<name>lisi</name>
<age>24</age>
<sex>女</sex>
</student>
</students>
说明:
<?xml version="1.0" encoding=”utf-8”?>---xml的文件头,表示xml文档开始。与html中的“<!DOCTYPE html>”作用相似。【土地】
<students></students>----自定义的xml标记,表示一个xml文件的根元素。【树根】
<student id=”1001” ></student>---自定义的xml标记,表示一个xml文件的根元素中的子元素。【树枝】
id=”1001”, id=”1002”----元素的属性,是一个键值对。
<name></name>,<age></age>,<sex></sex>---自定义的xml标记,表示一个xml文件的根元素中的子子元素。【树叶】
zhangsan,23,男...---都是被存储的具体数据值。【果实】
注意:
1.标记都是自定义的,成对出现“<name></name>”
2.元素可以携带属性,属性是一个键值对,可以出现多个
例如:<小狗 id=”1001” color=”黑色”></小狗>
3.保存文件的时候,文件的后缀名是以“.xml”结尾
例如:
package com.wangxing.bean;
public class Person {
private int perid;
private String pername;
private int perage;
private String peraddress;
public int getPerid() {
return perid;
}
public void setPerid(int perid) {
this.perid = perid;
}
public String getPername() {
return pername;
}
public void setPername(String pername) {
this.pername = pername;
}
public int getPerage() {
return perage;
}
public void setPerage(int perage) {
this.perage = perage;
}
public String getPeraddress() {
return peraddress;
}
public void setPeraddress(String peraddress) {
this.peraddress = peraddress;
}
}
请将上面的personlist集合转换成xml文件?
<?xml version="1.0" encoding=”utf-8”?>
<personlist>
<person perid=”1001” >
<pername>张三</pername>
<perage>23</perage>
<peraddress>西安</peraddress>
</person>
<person perid=”1002” >
<pername>李四</pername>
<perage>24</perage>
<peraddress>北京</peraddress>
</person>
</personlist>
2.常见的XML文件的生成方式和解析方式
2.1 XML文件的生成【Dom生成】
1.java默认的dom生成方式
package com.wangxing.xmlshengcheng;
import java.io.File;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.wangxing.bean.Person;
public class DOM {
public static void creatXMLByJavaDom(List<Person> personlist) throws Exception {
// 得到DOM解析器工厂
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
// 从解析器工厂的解析器
DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
// 得到Document对象
Document document = documentBuilder.newDocument();
// 设置文件头
document.setXmlStandalone(true);
// 创建根元素
Element rootElement