[02]XML基础笔记
来源:互联网 发布:批量询价 域名 编辑:程序博客网 时间:2024/05/22 04:41
一、概念和作用
XML 可扩展标记语言
作用:
负责网页的结构(布局)
*1)软件的配置文件 struts2 spring hibernate
2) 作为数据存储的容器(小型数据库)
二、XML作用
2.1 作为软件的配置文件(重点)
1)tomcat服务器配置文件
2)三大框架的配置文件
3)其他框架的配置文件
2.2 作为数据存储的容器(小型数据)
把数据存储为xml格式
三、XML语法
xml文件后缀.xml
3.1 标签
语法: <student>xxxx</student>
或者 <student/>
注意:
1)大小写严格区分的
2)开始标签和结束标签必须配对
3)不能用数字开头
4)标签名不能带有空格
5)建议不要使用xml备选关键词:xml Xml XML
6)一个xml文件有且仅有一个根标签
3.2 属性
语法:<student id="001"/>
注意:
1)属性值必须使用引号包括,可以同时双引或者单引,但不能单双混用。
2)在一个标签中不能出现同名的属性
3.3 注释
语法:<!-- xml注释 -->
3.4 文档声明
语法:<?xml version="1.0" encoding="utf-8"?>
注意:
1)必须放在文档的第一句
2)encoding:表示解析器使用什么编码解析该文档内容
3.5 特殊字符
> >< <& &空格 ......
3.6 处理指令(已经过时)
作用:在xml中引用一个css文件
语法:<?xml-stylesheet type="text/css" href="person.css"?>
四、XML约束
4.1 两个概念
良好的XML:符合xml语法的xml文件,就是良好的xml
有效的XML:除了符合xml语法,还有符合xml约束规则,就是有效的xml
4.2 XML约束语法
1)dtd约束:语法简单,功能单一
2)schema约束:语法复杂很多,功能强大,它的出现代替dtd约束
4.3 dtd约束语法
1)如果在xml文件中使用dtd
a)内部使用:
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
b)外部使用:
<!-- 导入dtd文件--><!DOCTYPE note SYSTEM "note.dtd">
2)约束标签:
语法:<!ELEMENT 元素名称 类别>
或者 <!ELEMENT 元素名称 (元素内容)>
类别:
EMPTY: 空元素
(#PCDATA): 普通字符串(不能包含标签)
ANY: 任何内容(包含标签)
元素内容:
顺序问题: ,
: 依次出现
例如:a,b,c 按顺序出现a,b,c |
: 枚举出现
例如:a|b 只能出现a或者b
数量问题: 默认出现1次
*
: 出现0或多次 +
:出现1或多次 ?
: 出现0或1次
3)约束属性
语法:<!ATTLIST 元素名称 属性名称 属性类型 默认值>
默认值:属性是否需要填写 #REQUIRED
必须填写的 #IMPLIED
非必填的 #FIXED value
固定值 (可以不填,但是如果一旦填写,值就是固定的)
属性类型:属性值可以写那些类型
CDATA
普通字符串
(en1|en2|...)
枚举(任选其一)
ID
唯一(在一个xml文件中多个标签不允许出现同值的属性)
五、XML解析
5.1 概念
XML解析,使用java代码去操作xml文件
5.2 解析模式
DOM解析:一次性把整个xml文件读入内存,构建一颗dom树!(内存占用大)
SAX解析:读取一点xml内容,解析一点(内存占用小)
5.3 解析工具
1)dom解析工具
jaxp的dom
jdom
dom4j (*)
2)sax解析工具
jaxp的sax (*)
…
5.4 dom4j的开发步骤
1)找到dom4j的开发包,导入需要的jar包 www.dom4j.org
2)读取xml文件
//1.创建解析对象SAXReader sr = new SAXReader();//2.解析xml文件 .代表当前项目Document doc = sr.read("./src/student.xml");System.out.println(doc);
5.5 关键的方法
读标签:
getRootEleement() 根标签 element("xxx") 获取第一个指定名称的子标签 elements(); 获取所有子标签,返回List elementIterator() 获取所有子标签,返回Iterator elements("xxx") 获取指定名称的所有子标签
读取属性:
attribute("xx") 根据名称获取属性对象 getName() getValue()attributeValue("xx") 根据名称获取属性值attributes() 获取所有属性对象,返回List<Attribute>
读取文本内容:
getText() 获取当前标签的文本elementText() 获取子标签的文本
- [02]XML基础笔记
- XML笔记-XML基础
- 学习笔记-XML基础
- XML基础学习手册 笔记
- xml学习笔记(基础)
- XML基础笔记(1)
- Xml学习笔记(一)基础篇
- Xml学习笔记(一)基础篇
- java基础加强 + xml + HTTP 笔记整理
- Android学习笔记1:XML基础
- [学习笔记]XML基础及约束
- [学习笔记]XML基础及约束
- Javaweb-xml基础1(学习笔记)
- Javaweb-xml基础2(学习笔记)
- Javaweb-xml基础3(学习笔记)
- XML解析基础02
- [原创][技术]XML学习笔记(1)------XML 基础
- XML学习笔记(一):XML基础及语法
- 一、SaltStack安装与基础配置
- django基础
- Windows 7系统如何配置java环境变量?
- WOAO我傲英语——开发出新一代的背单词方式
- 使用CSS3的appearance属性改变元素的外观
- [02]XML基础笔记
- 2017-03-07
- 二、Salt文件服务器与salt-cp以及cp模块
- 《ACM程序设计》书中题目H(其实火星人有20个指头QAQ)
- CentOS首次启动(初始化)
- Wikiot-DIY笔记(3)ST-Link V2
- 精进-即刻行动
- JAVA实现一个简单的代数运算语言编译器(一)--写在前面
- 三、Salt Grains