图片 1

Java学习笔记XML,介绍与二种接受办法

本文实例叙述了JS操作XML中DTD介绍及应用格局。共享给我们供大家参谋,具体如下:

XML简介

XML就可以扩大的号子语言。由此该语言中保有的标签都以未有先行定义的,开采者能够友善随意的钦赐。

近年来停止全数的标识的言语都归于开源的言语。由W3C组织张开叁个基本的珍视。

就此大家学习那些语言的时候应该参照W3C发布的文档。

 

怎么样是DTD,为啥须要DTD?

XML作用

1.方可用作软件的配置文件。

2.足以实现独立平台的数量传输。 C à XML à Java   天气预测

3.Web Service。

4.足以描述带关系的数额。

 

行之有效的XML: DTD(文书档案类型定义卡塔尔介绍

 

DTD为保加哈利法克斯语Document Type
Definition,粤语意思为“文书档案类型定义”。DTD担负着两重职分:一方面它援救你编写合法的代码,其他方面它让浏览器正确地显示屏代码。

XML体验

XML文件其实在事实上的开销中得以援助开辟者进行描述一些带关系的数额。

 
 

 

 

 

 

 

 

 

 

 

以上的数据必要XML进行仓库储存。

  1. 编排一个city.xml文件如下

<?xml version=”1.0″ encoding=”utf-8″ standalone=”yes”?>

<中国>

  <北京></北京>

  <上海></上海>

  <广州>

    <天河区></天河区>

    <花都区></花都区>

  </广州>

</中国>

另存为为UTF-8的编码格局。

  1. 动用浏览器展开该接受文本
 
 

 

 

 

 

 

 

 

 

至此XML的心得就完了了。由此要求火速的掌握XML的语法基本功。

 

二个HTML文书档案的为主组织可分为三个首要部分:

XML语法

假诺要明白XML语言的语法结构那么能够从以下多少个地方开展入手:

u  表明指令

语法:

<?xml version=””  encoding=””  standalone=”” ?>

xml 是多个xml文件的命令名通告深入分析器以XML的不二等秘书技举办剖判

version 钦命XML的版本,最近只好是1.0

encoding 钦命XML文件的被深入分析时候的解码方式,常常的值是GBK或UTF-8

standalone 内定该公文时否是单独文件。暗中同意值是yes,也可是no

细节体验:

  1. <>和?号之间不可能有任何字符包含空格
  2. ?和xml指令名之间不可能有其余的字符包涵空格
  3. 版本号只好是1.0
  4. 编码和平解决码要一直以来
  5. 八个天性现身的顺序是一定的;【version / encoding / standalone】

u  元素

语法:

<元素名></元素名>

要素名的组成:

   字母、数组、下划线和-

   不可能以数字发轫

要素的分类:

根元素       叁个XML文件中只好有贰个根元素包罗别的因素

<a></a>      带标签体的成分

<br/>       未有带标签体的元素,空成分

使用细节:

  1. XML是严谨区分朗朗上口写的,对于成分、属性以至任何的吩咐。
  2. XML的要素是可以互相嵌套的
  3. 要素是先初步的后终止

u  属性

语法:

<元素名 属性名1=属性值1 属性名2=属性值2  …>

属性名的牢笼和要素的牢笼豆蔻年华致

属性值在安装的时候须求使用单引号或双引号引起来。

比喻1:完成叁个书的isbn属性。

<?xml version=”1.0″ encoding=”utf-8″  standalone=”yes”?>

<books>

  <book isbn=”001″>

     <name>XML根基教程</name>

  </book>

</books>

性能只是为了给一个因素增加多个标志,那么该标记应用子成分也得以。

<?xml version=”1.0″ encoding=”utf-8″  standalone=”yes”?>

<books>

  <book isbn=”001″>

     <name>XML底子教程</name>

  </book>

  <book>

     <isbn>002</isbn>                      à
子成分等价于属性

     <name>XML根底教程</name>

  </book>

</books>

u  特殊字符和CDATA区域

若果在编排XML文件的时候发现属性值或因素的标签体内容要出口具有非常含义的字符,那么必需利用转义字符(实体)。

常用的转义字符

 
 

 

 

 

 

 

 

 

而是要是在标签体中山大学量的现身特殊字符,那么豆蔻梢头旦要动用转移字符那么就太繁琐了。

缓慢解决方案:CDATA区域

语法:

<![CDATA[

   // 须求转移的恢宏字符数据

]]>

比方1:将以下的数码开展高效的转义。

<?xml version=”1.0″ encoding=”utf-8″  standalone=”yes”?>

<books>

  <book isbn=”00"1″>

     <name>XML功底教程</name>

  </book>

  <book>

     <isbn>002</isbn>

     <name>XML功底教程</name>

     <content>

       <![CDATA[

        <html>

          <head>

          </head>

          <body>

          </body>

        </html>

       ]]>

     </content>

  </book>

</books>

u  注释

语言

注释

HTML

<!–    –>

CSS

/*   */

JavaScript

//   /*   */

Java

//   /*  */    /**  */

XML

<!–   –>

JSP

<%–    –%>

举例1:给xml文件增多注释。

<!–XML文件宣称–>

<?xml version=”1.0″ encoding=”utf-8″  standalone=”yes”?>

<!–唯意气风发的八个根成分–>

<books>

  <!–叁个book代表一本书–>

  <book isbn=”001″>

     <name>XML幼功教程</name>

  </book>

</books>

运作结果

 

 

 

 

 

 

 

 

 

u  样式指令

假若开拓者希望浏览器在分条析理的XML数据的时候以钦点的体制显示XML数据,那么就需求运用样式指令来安装XML的样式文件。

语法:

<?xml-stylesheet  type=”text/css”  href=”路径”?>

  1. 编纂一个books.xml文件

<?xml version=”1.0″ encoding=”utf-8″  standalone=”yes”?>

<books>

  <book>

     <id>0001</id>

     <name>XML根底教程</name>

     <author>焦宁波</author>

  </book>

  <book>

     <id>0002</id>

     <name>JavaEE高等教程</name>

     <author>焦宁波</author>

  </book>

</books>

  1. 编排多少个CSS样式文件

 

倘诺开采者未有编写制定钦点的CSS文件可是已经运用了该指令引进的样式,那么浏览器会接纳作者的暗中认可的体制来显示XML数据。

暗中同意的结果下:

 

 

编排css样式如下

book{

  background:#ff0000;

  display:block;

  margin-bottom:10px;

  width:100px;

    }

id,name,author{

  display:block;

  background:pink;

  color:blue;

    }

亟需另存为为UTF-8。

运转结果

 

 

 

 

 

 

 

 

文书档案类型定义和命名空间

  有效(Valid)的XML文档

  首先,XML文书档案是个格式正规的(Well-formed卡塔尔国XML文书档案;(见格式正规的XML:语法
属性 实体 管理指令 样式单
CDATA节)。

  其次,要求满意DTD的渴求,那样的XML文书档案称为有效的(Valid)XML文档

 

  头部信息   可视内容 

格式优秀的XML和卓有效率的XML文书档案

格式优质的XML即知足基本的XML语法的XML文书档案称之为格式优秀的XML文档。

立竿见影的XML文书档案即该公文的格式必要满意一定的羁绊文件。

自律文书档案是一个要制订约束法则的文本。

被束缚文档是多少个亟需被束缚的XML文件。

后生可畏旦想选择约束文件约束被束缚文件那么就要求在被封锁文件中引进限定文件。

思考:

格式非凡的XML不自然是实用的XML文书档案。

实用的XML文书档案一定是格式优越的XML文书档案。

 

二个DTD应该投身每多个文书档案的率先行.那样没错地停放,你的DTD本事告诉浏览器的用的是怎么着标识语言。在平常状态下,如若您编写的是科学代码,并装有一个妥善的DTD,浏览器将会依照W3C的行业内部显示你的代码。卓越的xml文书档案:切合xml的语法则则。有效的xml文档:相符xml语法规则的还要还须求相符DTD文书档案类型定义。有效的XML文书档案:首先,XML文书档案是个格式正规的XML文书档案;其次,供给满意DTD的必要,那样的XML文书档案称为有效的XML文书档案。利用DTD能够对xml文书档案的依次节点进行限拟订义,使开垦遵守风流罗曼蒂克套“规范”。DTD可以限定xml文书档案现身的因素,元素名称,元素的先后顺序,属性等。

XML约束技能

W3C提供了常用的自律本领来兑现XML文书档案的自律。常用的手艺有DTD(W3C推荐的合法约束标准手艺),但是该才能早就不应时宜了,所以民间有另叁个限定手艺Schema(民间规范)。

DTD

  DTD,即文书档案类型定义——Document Type
Definition。

  DTD用来描述XML文书档案的布局,

  叁个DTD文书档案满含:

  成分(ELEMENT卡塔尔的概念法则;

  成分之间的关联准绳;

  属性(ATTLIST卡塔尔的定义法规;

  可利用的实业(ENTITY卡塔 尔(阿拉伯语:قطر‎或标识(NOTATION卡塔尔法则。

 

DTD文书档案与XML文书档案实例的关系

DTD约束

DTD即Document Type
Definded(文书档案类型定义)。该本领所产生的封锁文件必需以.dtd进行末段,该公文并不是二个XML文件。是三个平时的文件文件。

u  体验

  1. 编辑多个测量试验的xml文件test.xml

<?xml version=”1.0″ encoding=”utf-8″ standalone=”no”?>

<书架>

  <书>

     <书名>Java就业培养练习教程</书名>

     <作者>张孝祥</作者>

     <售价>39.00元</售价>

  </书>

  <书>

     <书名>JavaScript网页开拓</书名>

     <作者>张孝祥</作者>

     <售价>28.00元</售价>

  </书>

</书架>

  1. 编排叁个限制文件制订要封锁的平整test.dtd

<!ELEMENT 书架 (书+)>

<!ELEMENT 书 (书名,作者,售价)>

<!ELEMENT 书名 (#PCDATA)>

<!ELEMENT 作者 (#PCDATA)>

<!ELEMENT 售价 (#PCDATA)>

dtd文件限制的被束缚文件编码是UTF-8,由此须要将封锁文件另存为为UTF-8。

  1. 在被封锁文件中引进限定文件进行语法的羁绊

<?xml version=”1.0″ encoding=”utf-8″ standalone=”no”?>

<!–引进限定文件–>

<!DOCTYPE 书架 SYSTEM “test.dtd”>

<书架>

  <书>

     <书名>Java就业培养练习教程</书名>

     <作者>张孝祥</作者>

     <售价>39.00元</售价>

  </书>

  <书>

     <书名>JavaScript网页开辟</书名>

     <作者>张孝祥</作者>

     <售价>28.00元</售价>

  </书>

</书架>

  1. 接纳浏览器进行查看是或不是满意钦点的羁绊

浏览器纵然提供了查看多个XML文件是或不是满意内定的束缚,可是开采者要求利用程序展开该功用。HTML+CSS+JavaScript

编写八个页面进行XML的平价校验validate.html

<script>

// 获取校验器对象

var xmlDoc = new ActiveXObject(“Microsoft.XMLDOM”)

// 设置是不是是异步

xmlDoc.async=”false”

// 张开校验的按键

xmlDoc.validateOnParse=”true”

// 加载被封锁的XML文件

xmlDoc.load(“test.xml”)

// 校验的结果

document.write(“<br>Error Code: “)

// 输出校验的错误码

document.write(xmlDoc.parseError.errorCode)

document.write(“<br>Error Reason: “)

// 输出校验的荒谬原因

document.write(xmlDoc.parseError.reason)

document.write(“<br>Error Line: “)

// 定位错误的行号

document.write(xmlDoc.parseError.line)

</script>

  1. 运作浏览器张开校验的页面

万生龙活虎实际如下表明校验成功

 

 

 

 

 

 

若果具体如下的音信认证不满意准绳

 
 

 

 

 

 

 

J多学豆蔻年华招: 查看专门的职业的软件开拓中陈设文件?

<web-app xmlns=””

    xmlns:xsi=””

    xsi:schemaLocation=http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd  
à 引进约束文件

    version=”2.5″>

 

类与指标;数据库表结构与数据记录;

DTD语法

u  引入限制文件

u  DTD基本语法

DTD文书档案与XML文书档案实例的涉及

  类与对象;

  数据库表结构与数量记录;

 

  有了DTD,各样XML文件能够指引二个自家格式的陈诉。

  有了DTD,差异团体的人得以采用叁个通用DTD来调换数据。

  应用程序可以接纳三个正式DTD校验从表面世界接收来的XML数据是不是有效。

  还可以DTD校验本身的XML数据。

 

有了DTD,种种XML文件能够带领叁个自己格式的叙说。有了DTD,区别团体的人得以动用三个通用DTD来交流数据。应用程序能够接收一个正规DTD校验从表面世界接收来的XML数据是或不是有效。可以应用DTD校验本人的XML数据。

Schema约束

 

 

要素的概念

Schema语法

u  引入限定文件

u  DTD基本语法

怎么着生成DTD文书档案

  DTD文书档案有三种接受方式:

  1.内部DTD文档

<!DOCTYPE 根元素[定义内容]>

 

  2.外部DTD文档

<!DOCTYPE 根元素 SYSTEM "DTD文件路径">

 

  3.内外界DTD文书档案结合

<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>

 

图片 1

 

那有个别标记可以调换正则表达式的标识来记念。珍视内容

总结

自如精晓XML的宗旨语法结构就能够。

问询DTD和Schema的语准绳则

支配节制文件的引进方法(Spring框架)

 

怎么样生成DTD文书档案

内部DTD 

   一个中间DTD的例子:

  上半局地是DTD,上面是XML文档,文书档案要相符DTD。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem [
    <!ELEMENT poem (author, title, content)>
    <!ELEMENT author (#PCDATA)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT content (#PCDATA)>
]>
<!--为元素poem定义了三个子元素author title content,
这三个元素必须要出现并且必须按照这个顺序
少元素不行,多元素也不行
-->
<!--指明author,title,content里面的内容是字符串类型-->
<poem>
    <author>王维</author>
    <title>鹿柴</title>
    <content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>

   

  上边的文书档案便是格式突出,况兼有效的。

  详见个中的注释。

  #PCDATA(Parsed Character
Data卡塔尔国 ,可深入分析的字符数据,即字符串。

 

  上面部分是DTD,在上面编辑XML文书档案时,借使不相符其DTD规范,用XMLSpy做检讨的时候,是well-formed的,不过却不是valid的。

  比如根成分写:

<Students>
</Students>

 

  Validate检查的时候就能够报错,根成分和DTD中的poem不符。

 

DTD文书档案有三种接受情势:

 

1.内部DTD文档

外部DTD

  下边是三个里面DTD的例子,下边用二个外表的DTD:

  首先,新建二个DTD文档,文件名为dtd_1.dtd,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT poem (author, title, content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>

 

  然后,新建二个XML文书档案。

  如若只写XML成分内容,那么它是二个格式卓越的,却不是行之有效的文书档案,因为找不到DTD。

  须求参加外部DTD文件的称号(同二个门道下只交给文件名就可以卡塔 尔(阿拉伯语:قطر‎。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem SYSTEM "dtd_1.dtd">
<poem>
    <author>王维</author>
    <title>鹿柴</title>
    <content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>

 

 

定义内容]>

内外部DTD结合

      DTD的内容也得以微微放在外界,有个别放在里面,如下:

  文件dtd_2.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>

  XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem SYSTEM "dtd_2.dtd"[
<!ELEMENT poem (author, title, content)>
<!ELEMENT content (#PCDATA)>
]>
<poem>
    <author>王维</author>
    <title>鹿柴</title>
    <content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>

 

 

2.外部DTD文档

 

3.内外部DTD文档结合定义内容]>

参考资料

  圣思园张龙先生XML录制教程。 

内部DTD

一个里面DTD的事例:上半局地是DTD,上面是XML文书档案,文书档案要符合DTD。

    ]> 王维 鹿柴 空山不见人,但闻人语声。返景入深林,复照青苔上。

地方的文书档案就是格式杰出,何况有效的。

#PCDATA(Parsed Character Data卡塔尔 ,可解析的字符数据,即字符串。

上边部分是DTD,在底下编辑XML文书档案时,假如不合乎其DTD标准,用XMLSpy做检讨的时候,是well-formed的,可是却不是valid的。

Validate检查的时候就能报错,根成分和DTD中的poem不符。

构建DTD限制校验工具

Untitled Documentvar doc = new ActiveXObject;doc.validateOnParse = true;doc.async = false;//&#21516;&#27493;&#26657;&#39564;function jiaoyan(){ doc.load;//&#21152;&#36733;&#34987;&#26657;&#39564;&#30340;&#25991;&#26723; var rst = document.getElementById; rst.innerHTML += "&#38169;&#35823;&#20449;&#24687;&#65306;" + doc.parseError.reason + "&lt;br /&gt;";//&#26657;&#39564;&#30340;&#38169;&#35823;&#20449;&#24687; rst.innerHTML += "&#38169;&#35823;&#34892;&#25968;&#65306;" + doc.parseError.line + "&lt;br /&gt;";//&#20986;&#38169;&#20195;&#30721;&#30340;&#34892;&#25968; rst.innerHTML += "&#38169;&#35823;&#21015;&#25968;&#65306;" + doc.parseError.linepos + "&lt;br /&gt;";//&#20986;&#38169;&#20195;&#30721;&#30340;&#21015;&#25968; rst.innerHTML += "&#38169;&#35823;&#20195;&#30721;&#65306;" + doc.parseError.errorCode + "&lt;br /&gt;";//&#20986;&#38169;&#20195;&#30721;&#30340;&#32534;&#21495;}

PS:这里再为大家提供七款有关xml操作的在线工具供我们参考运用:

在线XML/JSON相互调换工具:

在线格式化XML/在线压缩XML:

XML在线压缩/格式化工具:

XML代码在线格式化美化学工业具:

更多关于JavaScript相关内容可查看本站专项论题:《JavaScript操作XML文件技艺总括》、《JavaScript文件与目录操作手艺汇总》、《JavaScript中ajax操作技艺计算》、《JavaScript错误与调解本事总括》及《JavaScript数据结构与算法技艺总结》

期望本文所述对大家JavaScript程序设计有所扶持。

发表评论