xml介绍

1.XML 简介

1.1xml简介

什么是xml

xml 是可扩展的标记性语言。

xml 的作用?

xml 的主要作用有:

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

1.2 xml语法

  • 文档声明。

  • 元素(标签)

  • xml 属性

  • xml 注释

  • 文本区域(CDATA 区)

1.2.1xml举例

1)创建一个 xml 文件

<?xml version="1.0" encoding="UTF-8"?> xml 声明。 
<!-- xml 声明 version 是版本的意思 encoding 是编码 --> 
而且这个<?xml 要连在一起写,否则会有报错 

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

2)举例

<?xml version="1.0" encoding="UTF-8"?> 
<!-- xml 声明 version 是版本的意思 encoding 是编码 --> 
<books> <!-- 这是 xml 注释 -->
<book id="SN123123413241"> <!-- book 标签描述一本图书 id 属性描述 的是图书 的编号 --> 
  <name>java 编程思想</name> <!-- name 标签描述 的是图书 的信息 -->  
	<author>华仔</author> <!-- author 单词是作者的意思 ,描述图书作者 --> 
  <price>9.9</price> <!-- price 单词是价格,描述的是图书 的价格 --> 
</book> 
<book id="SN12341235123"> <!-- book 标签描述一本图书 id 属性描述 的是图书 的编号 --> 
  <name>葵花宝典</name> <!-- name 标签描述 的是图书 的信息 --> 
  <author>班长</author> <!-- author 单词是作者的意思 ,描述图书作者 --> 
  <price>5.5</price><!-- price 单词是价格,描述的是图书 的价格 --> 
</book> 
</books>  

1.2.2xml语法规则

1)注释

html 和 XML 注释 一样 :

2)元素(标签)

元素是指从开始标签到结束标签的内容。

注意点:

  • 所有 XML 元素都须有关闭标签(也就是闭合)

  • XML 标签对大小写敏感

  • XML 必须正确地嵌套

  • XML 文档必须有唯一一个根元素

  • XML 的属性值须加引号

  • XML中的特殊字符

    image-20201213161212442

  • 文本区域(CDATA 区)

    image-20201213161258641

例如:

<book id="SN123123413241"> <!-- book是标签名称    id为属性,提供book的额外信息 --> 
  <name>java 编程思想</name>
	<author>华仔</author> 
  <price>9.9</price> 
</book> 

其中的title,是标签名称,有以下几点要注意:

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能包含空格
  • xml 中的元素(标签)也 分成 单标签和双标签:

单标签:格式: <标签名 属性=”值” 属性=”值” … />

双标签:格式:< 标签名 属性=”值” 属性=”值” …>文本数据或子标签</标签名>

属性注意点:

属性必须使用引号引起来,不引会报错示例代码

2.XML解析

早期 JDK 为我们提供了两种 xml 解析技术 DOM 和 Sax 简介(已经过时,但我们需要知道这两种技术)

第三方的解析:

jdom 在 dom 基础上进行了封装 、

dom4j 又对 jdom 进行了封装。

pull 主要用在 Android 手机开发,是在跟

dom4j使用:

需要分四步操作:

第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象

第二步,通过 Document 对象。拿到 XML 的根元素对象

第三步,通过根元素对象。获取所有的 book 标签对象

第四小,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结 束标签之间的文本内容

//读取 xml 文件中的内容 
@Test 
public void readXML() throws DocumentException { 
// 第一步,通过创建 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()); 
  } 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值