文章目录

  • 一、XML简介
  • 二、XML 语言格式
  • 三、XML 解析技术


一、XML简介

xml是可扩展标记性语言

xml的作用:

  1. 可以用来保存数据
  2. 它可以用来做为工程或模块的配置文件
  3. 它可以用来做为网络数据传输的格式

二、XML 语言格式

① 文档说明

<?xml version="1.0" encoding="UTF-8"?>

说明:

  • version:版本号
  • encodingxml的文件编码
  • standalone="yes/no"xml文件是否是独立的xml文件

② 元素(标签)

java XML注解 XmlRootElement xml注释_xml


xml属性:

java XML注解 XmlRootElement xml注释_xml_02


CDATA(文本区域) 格式:

<![CDATA[ 这里可以把你输入的字符原样显示,不会解析xml ]]>

三、XML 解析技术

dom4j编程步骤:

  1. 先加载xml文件创建Document对象
  2. 通过Document对象拿到根元素对象
  3. 通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象
  4. 找到你想要修改、删除的子元素,进行相应在的操作
  5. 保存到硬盘上
/*
 * 读取xml文件中的内容
 */
@Test
public void readXML() throws DocumentException {
	//需要分四步操作:
	//第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
	//第二步,通过Document对象。拿到XML的根元素对象
	//第三步,通过根元素对象。获取所有的book 标签对象
	//第四步,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,再通过getText() 方法拿到起始标签和结束标签之间的文本内容
	
	//第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
	SAXReader reader = new SAXReader();
	Document document = reader.read("src/books.xml");
	// 第二步,通过Document对象。拿到XML的根元素对象
	Element root = document.getRootElement();
	// 打印测试
	// Element.asXML() 它将当前元素转换成为String对象
	// System.out.println( root.asXML() );
	//第三步,通过根元素对象。获取所有的book 标签对象
	// Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
	List<Element> books = root.elements("book"); 
	//第四步,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,
	for (Element book : books) {
		// 测试
		// System.out.println(book.asXML());
		// 拿到book下面的name元素对象
		Element nameElement = book.element("name");
		// 拿到book下面的price元素对象
		Element priceElement = book.element("price");
		// 拿到book下面的author元素对象
		Element authorElement = book.element("author");
		// 再通过getText() 方法拿到起始标签和结束标签之间的文本内容
		System.out.println("书名" + nameElement.getText() + " , 价格:" 
				+ priceElement.getText() + ", 作者:" + authorElement.getText());
	}
}