加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml基础

发布时间:2020-12-16 05:40:24 所属栏目:百科 来源:网络整理
导读:一、xml可以做什么? 1.借助标签更加清晰地描述数据; 2.平台之间数据的传递; 3.充当一些配置文件。 二、xml构成: 1.声明 2.约束 3.元素 4.注释 三、xml声明:?xml version="1.0" encoding="utf-8"? 要求:1.必须顶格写,必须在第一行; 2."?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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读