Java------XML

  XML


xml(可扩展标记语言)全称:eXtended Markup Language 
可扩展的含义:允许程序员按照自己的想法去扩展新的标签.
但是扩展的时候,必须遵守XML规范(1-1)


xml特点:
1、自带描述性
2、可以支持跨平
3、保留了面向对象编程的层感.

编写xml的语法:
1、头,被称之为序言--包含了(文档声明  注释  空白).
2、文档元素--包含了(注释  空白  标签  内容).

例:
<UserBean>
<id type="int">1</id>
<userName type="string" length="20">张三</userName>
<age type="int">18</age>
<gender type="int">1</gender>
<address type="string" length="20">XXXXXXX</address>
<speed type="int" unit="second">11</speed>
</UserBean>


xml的文档声明:
<?xml version="1.0" encoding="UTF-8" Standalone="yes"?>

version="1.0" 版本信息,当前版本信息默认就是1.0不需要改变.

encoding="UTF-8" 表示文档采用的编码集是UTF-8.默认编码:Unicode

Standalone="yes" 表示文档是独立的,并没有引起其他任何外部文档.

顺序不能改变,例外就是要记住在xml中要严格区分大小写.


xml的注释:
<!-- 注释内容 -->以下几点需要注意:

1、注释不能放到xml的声明之前.
如错误写法:
<!--   -->
<?xml version="1.0" encoding="UTF-8"?>

2、注释需要严格遵循注释的语法,不能携程<--  -->、<!-  -->、<!--  ->.

3、不要将注释放到标签中间去了.
注释作用:告诉xml解析器,不要解析被注释内容.


空白的使用:
在xml中,可以使用空格,字符表,回车等等的方式,让文档看起来更加直观.


xml的文档元素:
<开始标签>内容...</结束标签>   例如:<userName>张三</userName>
元素可以是整个文档中,最基本的数据存储单位,或者说最基本的逻辑单位


定义标签时-需要遵循一下规范:
1、标签名的定义,可以使用中文、英文、数字、下划线
但是名称必须使用字母、中文或者下划线开始----数字不能作为开头(建议不使用中文和下划线).
2、每个xml文档中,必须要有一个根标签,但是根标签内部可以去扩展很多的子标签.
3、每个xml文档中,至少需要存在一个标签元素,否则该文档就没有存在的含义.
4、定义标签名时,一定不能在名称中使用空格( )、冒号(:)、感叹号(!)、分号(;)等等其它符号.
5、定义标签名时,一定不要在名称中包含xml、XML、xml.、.xml等内容.


元素内容:
1、字符数据--所有的中英文、数字、(各种符号要注意:<  >  &  ""  ').
2、嵌套标签(元素)
3、实体(所谓的实体就是指<  >  &  ""  '的替代)
 < 用 &lt; 来代替.
 > 用 &gt; 来代替.
 & 用 &amp; 来代替.
 " 用 &quot; 来代替.
 ' 用 &apos; 来代替.
4、静态语句块:
<![CDATA[   静态语句内容  ]]>
<!-- 静态语句块,作用:告诉xml解析器,我内务的内容,没有特殊的含义,就是一个普通的字符串-->
<![CDATA[   < > ; ! : & ' "  ]]>


元素还可以添加属性:
属性的作用:进一步修饰该元素
定义属性名称的时候,也要遵循一定的规则:
1、属性名称可以包含字母、下划线、中文(但是不推荐中文). 一定不能在名称中使用空格( )、冒号(:)、感叹号(!)、分号(;)等等其它符号.
2、在同一个元素中,属性名不能重复.
3、属性名区分大小写.
4、定义标签名时,一定不要在名称中包含xml、XML、xml.、.xml等内容.
5、属性定义的方式,采用k-v键值对的方式进行定义,例如:type="string" 值必须要包含在""内  而且""必须成对出现.

DTD (Document Type Definition) Schema


xml的解析技术:DOM/SAX   -----   完成OXM   Object-XML-Mapping

DOM 文档对象模型,采用树形结构来完成对文档的解析,它在解析的时候,会将整个文档加载内存中然后形成"节点树".
当文档内容过多,或者是需要解析的文档太多,此时可能会造成服务内存紧张的问题.

SAX 基于事件驱动模式下的文档解析技术.

DOM4J框架,提供了一套完整的针对于DOM,和SAX的解析技术 目前使用较为广泛.
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值