XML及XML的解析方式

写在前面的话

简介

像我们学的Java可以理解为人与计算机交流的语言,而XML我们可以理解为软件与软件交流的一门语言。比方说C语言和Java如何进行交流,那么XML和后面介绍的JSON就是我们首选的语言。

XML指可扩展标记语言(extensible markup language)

特点:

  1. xml具有平台无关性。表示XML文件无论是windows还是Linux打开都是一样的,无论是Java还是python等解析出来效果也是一样的。
  2. 是一门独立的标记语言。即不依赖任何东西去描述数据,或者独立存在也有意义
  3. xml能描述自己

为什么学习XML

  1. 网络数据传输 (一般用JSON)
    • 用更好的方式传输数据
    • 服务器和客户端可能语言不一样,XML可以跨语言
  2. 数据存储 (用的很少)
  3. 配置文件 (用的多)
    • 用XML配置文件,可以在多个语言之间互通

XML文件

.XML文件是保存XML数据的一种方式

XML数据也可以以其他的方式存在(如在内存中构建XML数据,或者存在字符串中)

不要将XML语言狭隘的理解为XML文件。

XML语法格式

1,XML文档声明

文档声明放第一行

<?xml version="1.0" encoding="UTF-8"?>
2,标记(元素/ 标签/ 节点 )

XML文档,由一个个的标记组成

标记语法:

  • 开始标记(开放标记):<标记名称>
  • 标记内容:位于开始标记与结束标记之间
  • 结束标记(闭合标记):</标记名称>

举例:通过标记描述一个人名:

  • <name>王二麻子</name>

标记名称命名规则:

  • 可以含字母,数字,其他字符
  • 不能以数字和标点符号开始
  • 不能以"xml"或"XML"开始
  • 不能包含空格和冒号(😃
  • 名称区分大小写
3,标记可以嵌套,但不能交叉

正确:

<person><name>张三</name><age>18</age>
</person>

错误:

<person><name>张三<age></name>18</age>
</person>
4,一个XML文档中,必须有且仅有一个根标记

最外层的标记为跟标记,由一对包含所有,只能有一对:

正确

<names><name>张三</name><name>李四</name>
</names>

错误

<name>张三</name><name>李四</name>
5,标记的层级称号

有:子标记,父标记,兄弟标记,后代标记,祖先标记

例如:

<persons><person><name>张三</name><age>18</age></person><person><name>李四</name><age>20</age></persons>
</person>

name是person的子标记.

name是persons的后代标记.

name是age的兄弟标记.

person是name的父标记.

persons是name的祖先标记.

6,标记名称允许重复
7,标记除了开始和结束,还有属性

属性在开始标记中描述,有属性名和属性值构成,此两者为键值对。

格式:

  • 可以包含0-N个属性
  • 属性名不能重复
  • 多个属性之间空格分割
  • 属性值必须引号引住

例如:

<persons><person id="1001" groupid="01"><name>张三</name><age>18<
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值