xml基础
来源:互联网 发布:网络墨迹是什么意思 编辑:程序博客网 时间:2024/06/07 05:56
XML文件组成部分:
1.文档声明:
1)<?xml version="1.0" ?>//基本格式
2)<?xml version="1.0" encoding="GB2312">//编码,UTF-8,与打开码表数据有关,想存,另存为选择UTF-8保存
3)<?xml version="1.0" encoding="GB2312" standalone="no/yes" ?>是否独立
2.元素
指的是XML文件中出现的标签,分为开始标签和结束标签
<a></a>==<a/>
元素之间空格和换行是被认为原始内容处理的
3.属性
属性有自己的名称和取值
<input name="text">等同于<input><name>text</name></input>
4.注释
<!--注释-->//格式
注释不能嵌套注释
5.CDATA区、特殊字符
在编写XML文件时,有些内容可能不想让解析引擎
解析执行,而是当作原始内容处理。xml致肌肉原封不
动的输出。
语法<![CDATA[
<hello>
<br>
</hello>
]]
转义字符:对于一些单个字符,若想显示其原始样式
也可以使用转义的形式给予处理
特殊 替代
& &
< <
> >
" "
' '
6.处理指令(processing instruction)
解析引擎如何解析XML文档内容
<?xml-stylesheet type="text/css" href="url">
XML约束
在XML技术里,可以编写一个文档来约束一个XML
文档的书写规范,这称之为XML约束
常用的约束技术
1.XML DTD
2.XML Schema
DTD(document type definition):文档类型定义
pcdata:parse character data:可解析的数据
<?xml version="1.0">
<!DOCTYPE 书架 SYSTEM “book.dtd”>//引入dtd,也可以内部直接写入
<书架>
<书>
<书名>1</书名>
<作者>2</作者>
<价格>3</价格>
</书>
<书>
<书名>rr</书名>
<作者>rr</作者>
<价格>5</价格>
</书>
</书架>
文件清单:book.dtd
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,价格)>
<!ELEMENT 书名(#PCDATA)>
<!ELEMENT 作者(#PCDATA)>
<!ELEMENT 价格(#PCDATA)>
DTD约束语法细节
1.元素定义
<!ELEMENT 元素名称 元素类型>
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,价格)>//出现顺序保持一致
<!ELEMENT 书名(#PCDATA)>
*EMPTY:用于定于空元素
*ANY:表示元素内容为任意类型
<!ELEMENT 书架 ANY>//可以存放任意数据
<!ELEMENT 书 (书名,作者,价格)>
用,分开,出现顺序保持一致
用|分开,表示任选其一,最多只能出现一个
+:表示一次或多次(书+)
?:0次或一次(书?)
*:一次或多次(书*)
(书):默认一次
也可以使用()批量设置,例:
<!ELEMENT MYFILE((TITLE*,AUTHOR?,EMAIL)*|comment)>
2.属性定义:通过ATTLIST设置(attibute)
<!ATTLIST 元素名称
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明
>
<!ATTLIST 商品
类别 CDATA #REQUIRED
颜色 CDATA #IMPLED
>
设置说明:
#REQUIRED:必须设置该属性
#IMPLED:可以设置也可以不设置
#FIXED:取值固定为一个值
3.实体定义
参数实体
XML解析方式分为两种:dom和sax
1.dom(document object model):文档对象模型
是w3c推荐的一种解析方式
变成Document对象
缺点:对内存的消耗比较大
优点:对文档增删改查比较容易
2.sax(simple API for XML):不是官方标准,但是
几乎所有的XMl解析器都支持它。
优点:对内存占用少,解析速度快s
缺点:适合做查询,不适合增删改
XML解析开发包:
jaxp(sun),Jdom,dom4j
更新XMl中的数据
Transform
所有平面图形题目都可以看成二维数组
sax解析:
解析器
事件处理器
Xpath提取xml文档数据
1.selectSingleNode("表达式")
2.selectNodes("表达式")
XMl Schema:扩展名为.xsd(模式文档)
用于定义个描述XML文档结构与内容的模式语言,
其出现是为了克服DTD的局限性
Schema vs DTD:
1.XML Schema符合xml语法结构
2.DOM、SAX、等XML解析器更容易解析
Schema文档中的内容
3.Schema对名称空间支持非常好
4.支持定义更多的数据类型
5.Schema定义约束的能力更加强大
6.不能像DTD一样定义实体,比DTD更加复杂,
Schema正在取代DTD
一个XML Schema文档通常被称为模式文档(约束文档),
遵循这个文档书写的xml文件成为实例文档
0 0
- XML基础
- XML基础
- XML基础
- XML基础
- xml基础
- XML基础
- xml 基础
- xml基础
- xml基础
- XML基础
- XML基础
- xml基础
- XML基础
- xml基础
- XML基础
- XML基础
- xml基础
- XML基础
- 2015 浙江省赛 Team Formation (思维题)
- java中文件和流处理
- SecureCRT连接编码错误
- 欢迎使用CSDN-markdown编辑器
- 海盗分金币
- xml基础
- 栈回溯技术arm_v5t_le版
- HDU 3294 Girls' research
- LeetCode : Longest Palindromic Substring [java]
- jdk API标记接口
- 2015 浙江省赛 Beauty of Array (思维题)
- 任性动图V4.0 全新界面 致力于打造 优美、便捷的文字呈现
- 【GeekBand】Android应用界面开发【第一周】学习笔记
- spring