xml基础

一、xml可以做什么?
1.借助标签更加清晰地描述数据;
2.平台之间数据的传递;
3.充当一些配置文件

二、xml构成:
1.声明
2.约束
3.元素
4.注释


三、xml声明:<?xml version="1.0" encoding="utf-8"?>
要求:1.必须顶格写,必须在第一行;
2."<?xml"中间不能有空格;
3."?>"中间不能有空格.
说明:一个xml文档只能有一个声明。


四、xml约束:用于约束xml文档中元素的编写。
1.两种类型:1·DTD约束;2·schema约束。

2.如何使用:1·内部约束;2·外部约束(xml约束定义在外面,xml文档中引入),例如<?!DOCTYPE books SYstem "books.dtd">。

3.相关约束的定义:
1·元素的定义(元素约束)
语法:
1》<!ELEMENT 元素名 (元素内容)>
举例:<!ELEMENT books (book+)>
<!ELEMENT book (name?,price,author)>
<!ELEMENT name (#PCDATA)>
其中,*表示0个或多个,?表示0个或1个,+表示1个或多个,#PCDATA表示是一个可被解析的字符串,且如上定义中name,author区分顺序。

2》<!ELEMENT 元素名 元素类型>
举例:<!ELEMENT br EMPTY>
<!ELEMENT AY ANY>
其中,EMPTY代表空元素,例如</br>,ANY代表任意元素。


2·元素中属性的定义(属性约束)
语法:<!ATTLIST 元素名 属性属性类型 认值>
举例:<!ATTLIST book type (java|db) #IMPLIED>
<!ATTLIST book id ID #required>
<!ATTLIST book desc CDATA #FIXED "bok">
其中,属性类型可以为:
CDATA:不可被解析的字符串;
ID:值必须唯一;
enum:枚举类型,例如(java|db)。
其中,认值可以为:
#IMPLIED:表示属性可有可无;
#required:此属性必须有;
#FIXED "bok":用于指定属性认固定值。

五、xml元素
1.由开始标记、结束标记、中间内容构成一个xml元素;
2.开始标记、结束标记严格区分大小写;
3.每个标签的写法必须遵循标识符命名规则;
4.每个标签内部还可以定义多个属性
5.标签间的内容假如含有特殊字符则需要处理:1》内容放入CDATA区 <![CDATA[<core java>]]>;2》使用替换符 &lt;baidu&gt;


六、xml注释
1.写法:<!--内容(可以跨行)-->
2.位置:除第一行外的任意位置


七、xml解析
1.解析方案
基于DOM节点:DOM解析,DOM4J解析
基于事件流:SAX解析,pull解析


2.DOM解析的步骤:
1·构建解析器对象(DocumentBuilder builder)
2·解析文件
3·处理数据(一般从根节点开始)


3.DOM4J解析步骤:
1·创建解析器对象(SAXReader reader)
2·解析文件(reader.read())
3·处理数据


4.SAX解析步骤:
1·创建解析器对象(SAXParser parser)
2·构建事件处理器对象(MySAXHandler handler)
3·解析文件(parser.parse(new File(" "),handler))
4·处理数据(List<User> getList())


5.pull解析步骤:
1·创建解析器对象(XmlPullParser xpp)
2·解析文件(xpp.setInput(new FileReader("")))
3·处理数据(借助事件对象)
说明:需要借助两个jar文件kxml2-2.3.0.jar,xmlpull_1_1_3_4c.jar


6.XPATH:一种快速定位xml元素的方式,w3c的标准,应用于DOM4J。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念