什么是XML
xml是可扩展的标记性语言
xml的作用
xml的主要作用有
1、用来保存数据,而且这些数据具有自我描述性
2、它还可以作为项目或者模块的配置文件
3、它还可以作为网络传输数据的格式(现在以json为主)
第一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<books>
<book sn="123">
<name>时间简史</name>
<author>霍金</author>
<price>10</price>
</book>
</books>
XML语法
1、XML的注释和HTML一样
2、XML的元素和HTML的标签一样
3、XML命名规则
- 名称可以含字母、数字及其他的字符(可以用中文)
- 名称不能以数字或标点符号开始
- 名称不能包含空格
- 分单标签和双标签,必须闭合
- 标签的属性需要用引号引起来
- xml标签对大小写敏感
- xml必须正确的嵌套
- xml文档必须有根元素,且只能有一个,根元素就是没有父标签的元素
- xml中的特殊字符,比如>,需要写成
>
用dom4j解析xml
package LWB;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public class dom4jTest {
public static void main(String[] args) throws DocumentException {
SAXReader saxReader=new SAXReader();
Document document=saxReader.read("src/books.xml");
System.out.println(document);
}
}
package LWB;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class dom4jTest {
public static void main(String[] args) throws DocumentException {
//读取books.xml文件
SAXReader reader =new SAXReader();
Document document=reader.read("src/books.xml");
//通过document对象获取根元素
Element rootElement =document.getRootElement();
// System.out.println(rootElement);
//3 通过根元素获取book标签对象
//element()和elements()都是通过标签名查找子元素
List<Element> books=rootElement.elements("book");
for(Element book:books){
//asXML()把标签对象,转换为标签字符串
Element nameElement=book.element("name");
//getText()可以获取标签中的文本内容
String nameText=nameElement.getText();
System.out.println(nameText);
String priceText=book.elementText("price");
System.out.println(priceText);
String authorText=book.elementText("author");
System.out.println(authorText);
String snValue=book.attributeValue("sn");
System.out.println(snValue);
//输出对象时,会调用对象的toString函数
System.out.println(new book(snValue,nameText,Double.parseDouble(priceText),authorText));
}
}
}