XML 可扩展标记性语言

725 阅读2分钟

一、XML 简介

1.1 xml 的作用

  1. 用来保存数据,而且这些数据具有自我描述性
  2. 它还可以做为项目或者模块的配置文件
  3. 还可以做为网络传输数据的格式(现在 JSON 为主)

1.2 xml 语法

  1. 文档声明。
  2. 元素(标签)
  3. xml 属性
  4. xml 注释
  5. 文本区域(CDATA 区)
  • xml 声明
<?xml version='1.0' encoding='UTF-8'?>

version 是版本号;encoding 是 xml 的文件编码;standalone="yes/no" 表示这个 xml 文件是否是独立的 xml 文件

  • xml 注释
<!-- html 注释 -->
  • 元素(标签):元素是指从开始标签到结束标签的内容
<title>java 编程思想</title>
  • 元素命名规则:名称可以含字母、数字以及其他的字符;名称不能以数字或者标点符号开始;名称不能包含空格
  • 单标签和双标签
<!--单标签格式:--> 
<标签名 属性=”值” 属性=”值” ...... /> 
<!--双标签格式:-->
<标签名 属性=”值” 属性=”值” ......>文本数据或子标签</标签名>
  • xml 属性:属性可以提供元素的额外信息。一个标签上可以书写多个属性。每个属性的值必须使用引号引起来。
<person sex="female"/>

1.3 语法规则

  • 所有 XML 元素都须有关闭标签(也就是闭合)
  • XML 标签对大小写敏感
  • XML 必须正确地嵌套
  • XML 文档必须有根元素
  • XML 的属性值须加引号
  • XML 中的特殊字符(比如<>),需要有特殊表示。
  • 文本区域(CDATA 区):CDATA 语法可以告诉 xml 解析器,我 CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析
<![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>

二、XML解析技术

2.1 dom4j解析技术

  • dom4j 操作步骤
    1. 先加载 xml 文件创建 Document 对象
    2. 通过 Document 对象拿到根元素对象
    3. 通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象
    4. 找到你想要修改、删除的子元素,进行相应在的操作
    5. 保存到硬盘上

2.2 读取xml文件

public class Dom4JTest {
  @Test
  public void getDocument() throws DocumentException {
    // 要创建一个 Document 对象,需要我们先创建一个 SAXReader 对象
    SAXReader saxReader = new SAXReader();
    // 这个对象用于读取 xml 文件,然后返回一个 Document。
    Document document = saxReader.read("E:/Java/java-web/xml/src/main/resources/books.xml");
    // 打印到控制台,看看是否创建成功
    //System.out.println(document);
    Element root = document.getRootElement();
    List<Element> books = root.elements("book");
    for (Element book : books) {
      Element name = book.element("name");
      Element price = book.element("price");
      Element author = book.element("author");
      System.out.println("书名:" + name.getText() + ", 价格:" + price.getText() + ", 作者:" + author.getText());
    }
  }
}