xml
来源:互联网 发布:linux echo 脚本 编辑:程序博客网 时间:2024/05/26 02:54
1.什么是XML?
xml全称Extensible Markup Language (可扩展标记语言),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
2.xml的作用?
1、丰富文件(Rich Documents)-自定文件描述并使其更丰富;
2、属于文件为主的XML技术应用;
3、标记是用来定义一块数据应该如何呈现;
4、解释数据(Metadata)-描述其它文件或在线信息;
5、属于数据为主的XML技术应用;
6、标记是用来说明一块资料的意义;
7、组态档案(Configuration Files)-描述软件的组态参数。
3.xml的基本语法?
3.1文档声明:声明XML文档的类型(<?xml version="1.0" encoding="UTF-8"?>)
3.2标签:
a.文件有且仅有一个根标签,其他标签都必须封装在根标签中
b.非空标签必须由“开始标签”和“结束标签”组成,空标签没有“开始标签”和“结束标签”
c.XML全体标签必须形成树形,即标签不允许交叉。
d.命名规范:字母,数字等。
1.严格区分大小写。
2.不能以数字,下划线,XML等开头
3.不能包含空格。
4.名字中间不能包含。
3.3:一个标签可以有多个属性,同样可以有肯多子标签,根标签只能有一个,所有子标签必须写在根标签下。
4.注释:
a.格式:<!--注释内容-->
b.文档声明之前不能有注释
c.注释不能嵌套
代码实现xml类,可以含有dtd来约束他:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons SYSTEM "my.dtd">---------引入本地的dtd约束
<persons>------------跟标签
<person pid="G160628"> ---------根标签下的子标签
<pname>张三</pname>
<page>13</page>
</person>
<person pid="G160618">
<pname>李四</pname>
<page>13</page>
</person>
</persons>
写一个文档来约束另外一个文档用来约束XML文档的书写规范。
xml约束技术有两种格式:DTD Schema
DTD是什么?
Document Type Definition 文档类型定义
引入DTD文件:
本地:<!DOCTYPE 文档根节点 SYSTEM "dtd文件名">
公共:<!DOCTYPE 文档根节点 PUBLIC "dtd文件名" "DTD文件URL">
代码实现DTD约束类:
<!ELEMENT persons (person*)>-----------约束跟标签(persons) 下的子标签只能右person *是可以有0次或多次
<!ELEMENT person (pname,page)> ----------------(persons)下的子标签 有两个(pname,page) 点是可以同时用,但是要按照他们的顺序写
<!ELEMENT pname (#PCDATA)> ----------------给他标签设置类型
<!ELEMENT page (#PCDATA)> ----------------给他标签设置类型
<!ATTLIST person pid ID #REQUIRED> ----------------给他属性设置类型名 和类型
6.dtd的基本语法:
6.1元素ELEMENT
格式:<!ELEMENT 元素名称 元素类型>
元素类型:EMPTY:表示定义空元素
ANY:表示元素内容为任意类型
也可以写元素内容
元素内容:1.用逗号隔开:表示内容的出现顺序必须与声明时一致
2.用 | 隔开:表示任选其一,即多个只能出现一个
出现次数:+:一次或多次
-:0次或1次
?:0次或多次
6.2属性ATTLIST
格式:<!ATTLIST 元素名 属性名1 属性值类型 设置说明>
属性值类型:CDATA 普通文本字符串
ENUMERATED 枚举
ID 唯一(不能以数字开头)
ENTITY
6.3实体ENTITY
格式:<!ENTITY >
为内容取名
类型:引用类型(XML引用)
格式:<!ENTITY 实体名称 “实体内容”>
引用:&实体名称
参数实体(DTD引用)
格式:<!ENTITY % 实体名称 “实体内容”>
引用:%实体名称
7.使用DOM解析XML:
他有三种用法:dom解析 ,dom4j , sax
dom解析的用法如下:
dom4j 的用法:
- XML
- XML
- XML
- XML
- xml
- xml
- XML
- XML
- XML
- xml
- xml
- XML
- XML
- xml
- xml
- xml
- XML
- XML
- HDU1251统计难题---Trie Tree
- LeetCode 36. Valid Sudoku
- opencv3_java 图像的方框滤波BoxFilter BoxFilter
- Java架构师之路:Java程序员必看的15本书的电子版下载地址
- leetcode【第十三周】颜色排序
- xml
- c注释风格转化到c++注释风格
- 数组实现的线性表的基本操作2[C语言]
- leetcode【第十四周】从排序列表中移除重复元素Ⅱ
- JNDI
- TensorFlow四种Cross Entropy算法实现和应用
- 《大型网站技术架构 核心原理与案例分析 》
- 读入挂输出挂
- 【Codeforces 808A】【模拟】Lucky Year 题解