XML:可扩展标记语言(Extensible Markup Language,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言(SGML)的子集,非常适合Web传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
XML在如下情况下使用频率较高:
可以作为程序间通讯的标准
可以作为配置文件(在PHP中使用较多)
可以作为小型数据库
那么,在XML基础学习以及找工作面试中,XML知识有哪些需要特别注意的呢?我罗列的有以下几点:
1. 如何使XML文件中某个标签内容可以包含特殊字符
使用CDATA可以满足上述要求,CDATA的基本语法如下:
<标签><![CDATA[内容]]></标签>
上述语法中的内容可以为任意特殊字符,比如图片的二进制。
2. 在XML文件中引入DTD文件的两种方式
本地引用
<!DOCTYPE根节点SYSTEM"DTD文件的URL">
引入公开的dtd
<!DOCTYPE文档根节点PUBLIC"DTD名称""DTD文件的URL">
3. DTD文件语法
语法形式:<!ELEMENT NAME CONTENT>,说明如下:
ELEMENT是关键字
NAME代表元素名称
CONTENT代表元素类型(大写),包含:
EMPTY-该元素不能包含子元素和文本,但可以有属性-(空元素)
ANY-该元素可以包含任何在DTD中定义的元素内容
#PCDATA-可以包含任何字符数据,但是不能在其中包含任何子元素其他类型(组合)
示例如下example.dtd:
<!ELEMENT 班级 (学生+)> <!ELEMENT 学生 (名字,年龄,介绍)> <!ELEMENT 名字 (EMPTY)> <!ELEMENT 年龄 (#PCDATA)> <!ELEMENT 介绍 (#PCDATA)>
在上述DTD中,"+"用于表示对象最少出现一次,可以出现多次,同理,“|”表示在列出的对象中选择一个;“*”表示该对象允许出现零次到任意多次;"?"表示该对象可以出现,但是只能出现一次(0到1次);“,”表示对象必须按照指定的顺序出现;“()”用来给元素分组,如(苹果|香蕉),(书包,铅笔)分成两组。在上述示例DTD文件下,如有下列XML代码example.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE 班级 SYSTEM "exmple.dtd"> <班级> <学生> <名字>IECspace</名字> <年龄>23<名字>IECspace</名字></年龄> <介绍>我来自中国江西</介绍> </学生> </班级>
上述xml代码会报错,因为“名字”内容是EMPTY的,应把example.xml的第5行改为:<名字/>,同时,第6行业有错,因为“年龄”的内容是#PCDATA,#PCDATA不能包含子元素,所以应改为:<年龄>23</年龄>。
4. DTD属性
在DTD中(命名为example.dtd),属性通过ATTLIST声明来控制,属性申明使用下列的语法:
<! ATTLIST 元素名称 属性名称 属性类型 默认值>
如有下述DTD文件:
<!ELEMENT CATALOG (PRODUCT+)> <!ELEMENT PRODUCT (SPECIFICATIONS+,OPTIONS?) > <!ATTLIST PRODUCT NAME CDATA #IMPLIED CATEGORY (HandTool | Table | Shop-Professional) "HandTool" PARTNUM CDATA #IMPLIED > <!ELEMENT SPECIFICATIONS (#PCDATA) > <!ATTLIST SPECIFICATIONS WEIGHT CDATA #IMPLIED POWER CDATA #IMPLIED >
则上述DTD实例对应的XML实例如下:
<?xml version="1.0" encode="uft-8"?> <!DOCUMENT CATALOG SYSTEM 'example.dtd'> <CATALOG> <PRODUCT NAME="类型" CATEGORY="HandTool" PARTNUM="数量"> <SPECIFICATIONS WEIGHT="50Kg" POWER="1000W" >说明书</SPECIFICATIONS> </PRODUCT > </CATALOG>
注明:#IMPLIED说明的属性表明该属性可以有也可以没有,同时,任何时候要保证.xml文件要与相应的.dtd文件的编码一致,否则将会报错。
想要更加深入了解,大家可以免费下载学习极悦XML视频教程,该课程针对XML的语法,约束,解析方式等内容为大家做一个全方位的内容展示。其中语法方面会对比HTML语言进行讲解,约束及解析方式方面会针对未来的实际项目开发进行讲解。最后我们还会了解到XML解析方式的扩展--xpath的解析方式以及与json传输数据的比较等内容。
课程学习目录
1.XML教程-什么是XML
2.XML教程-介绍解析XML的几种方式
3.XML教程-MyEclipse基本设置
4.XML教程-dom4j解析
5.XML教程-sax解析
6.XML教程-xpath语法介绍
7.XML教程-dom4j和xpath解析xml文件_获取节点元素的文本内容
8.XML教程-dom4j和xpath解析xml文件_获取节点元素属性对象的值
9.XML教程-使用Xpath对象解析xml文件
10.XML教程-xml解析总结
以上就是极悦java培训机构的小编针对“Xml语言视频教程,实际项目中学习”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习