Heim > php教程 > php手册 > Xml 学习 - 尼农小道

Xml 学习 - 尼农小道

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-05-20 11:54:18
Original
996 Leute haben es durchsucht
  1. XML概述

  1. XML的历史背景

GML(1969):通用标记语言

IBM公司的一些专家们一起研究的一个课题:

软件必须有高度的可移植性,而且必须有一个统一的标准。为了实现软件的一处编写多处运行这个愿景所诞生。

SGML(1985):专家们对GML升级,标准的通用标记语言。SGML广泛的应用于工业领域。

HTML(1993):由W3C组织推广,超文本标记语言。HTM诞生愿景:跨平台,跨设备,跨浏览器打开同一个网页所展示的效果是一致的。

XML(1998):由W3C组织推广,最初诞生的目的:为了替代HTML。但是在其他方面得到了很好的发展:在数据的传输方面得到很好的发展。

 

面试题:什么是XML?其主要功能是什么?

答:XML是可拓展的标记语言,其主要功能是用于数据的传输和数据的存储。

  1. 认识XML

英文全称:extensible markup language

中文全称:可拓展的标记语言

XML定义:XML是用于标记电子文件使其具有结构性的标记语言,可以标记数据,定义数据类型,XML是具有可拓展性的。

 

    

    

 

 

3、XML和HTML的差异

  • html标签不能自定义,从标签上不能达到"见词知意"的目的

        

  • 华硕品质,坚若磐石

因为XML有可拓展性,所以可以自定义,所以可以在标签命名的时候,给予有意义的名称

    华硕品质,坚若磐石列表项>

无序列表>

 

 

  • html将数据与格式绑定在一起

HTML侧重点是数据的表现形式。

华硕品质,坚若磐石

XML侧重点是数据的本身。

华硕品质,坚若磐石电脑>

 

XML是存储数据和描述数据结构,类比mysql。

 

  • 不同浏览器解html不同

主流浏览器:火狐,谷歌,IE,其他浏览器。

XML不存在兼容兼容问题。98%以上的浏览器中打开XML文档所展示的内容是一致的。

  • html语法要求不严格

        

  • 无序列表

以上代码在HTML中可以正常运行,不会提示任何语法错误。

 

但是XML语法要求是很严格的,会提示xx行没有闭合标签,xx语法错误。

 

  1. XML的应用场景

  1. 充当程序间通讯的中间件(API)

SHOP(php)    OA(JAVA)

 

可以使用XML来实现不同编程语言之间的数据交互。

 

XML在99%的编程语言中都支持。

 

  1. 配置文件

场景:100个项目都链接同一个数据库

SHOP(PHP)    OA(JAVA) ERP(C#) CRM(node.js) …100个

 

Config.php        config.jsp config.apx config.js    …

            

            Config.xml

  1. 小型数据库

XML在一些软件或者APP中都充当本地缓存文件。

早期:金山词霸的本地数据库使用的XML。

4、规范数据格式

SHOP(PHP)                            OA(JAVA)

 

解析java项目生成的XML文件                Java按照规定的格式生成XML数据

 

需求:php想java项目获取一个人的信息

期望需求: 名称(varchar) 年龄(int) 性别(var)

 

实际返回:    年龄int        名称varchar性别var

所以插入数据库的时候会报错。。

 

 

XML可以规范约束数据的格式

 

     1

    2

    3

 

 

  1. XML数据传输原理

 

  1. XML快速入门

 

  • 描述人的信息:

xml version='1.0' encoding='utf-8' ?>

person>
name>
刘诗亮name>
age>26age>
sex>
未知sex>
job>
程序员job>
person>

 

描述书籍的信息:

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">='1.0' <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">='utf-8' </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>book<span style="color: #99732f;">><br>    title<span style="color: #99732f;">></span></span></strong></span></span></span></span></span><span style="color: #2eb11a;"><strong>《三体》<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">title<span style="color: #99732f;">><br>    autuor<span style="color: #99732f;">></span></span></span></span></span><span style="color: #2eb11a;">刘慈溪<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">autuor<span style="color: #99732f;">><br>    price<span style="color: #99732f;">><span style="color: #2eb11a;">99.8¥<span style="color: #99732f;"><span style="color: #b8ae5b;">price<span style="color: #99732f;">><br>    publish<span style="color: #99732f;">></span></span></span></span></span></span></span></span></span></span></span><span style="color: #2eb11a;">传智出版社<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">publish<span style="color: #99732f;">><br>    date<span style="color: #99732f;">><span style="color: #2eb11a;">2016</span></span></span></span></span></span>年<span style="color: #2eb11a;"><span style="font-family: Consolas;">1</span>月<span style="font-family: Consolas;">13</span>日<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">date<span style="color: #99732f;">><br><span style="color: #b8ae5b;">book<span style="color: #99732f;">></span></span></span></span></span></span></span></strong></span></code>
Nach dem Login kopieren

 

二、XML语法

1、文档声明

在PHP中使用header()方法定义当前文档的头信息

在XML中使用文档声明来定义当前文档的头信息

 

基本语法:

<code><span style="color: #b8c21c; font-family: Consolas; font-size: 15pt;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">='1.0' <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">='utf-8' </span></span></span></strong><span style="color: #b8c21c;"><em>?></em>
						</span></span></span></code>
Nach dem Login kopieren

参数:version         XML的版本号                  1.0 (必填)

     Encoding        当前文档的字符集编码         utf-8 (必填)

     Standalone        当前文档是否依赖月外部DTD no

2、元素(标签,标记,节点)

元素是构成XML文档的最基本的单位,为了识别和却别元素,我们可以给元素给予有意义的命名:字母,数字,符号。但是,命名时必须得遵循相关的命名规范。

2.1、命名规范

  • 元素的名称必须以下划线和字母开头,后面可以跟字母,数字,符号(.-_)
  • XML对大小写铭感:
  • XML元素名称中不可以出现空格符或者制表符

示例代码:

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>person<span style="color: #99732f;">><br>   _123<span style="color: #99732f;">></span></span></strong></span></span></span></span></span><span style="color: #2eb11a;"><strong>以下划线开头<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">_123<span style="color: #99732f;">><br>   abcd<span style="color: #99732f;">></span></span></span></span></span><span style="color: #2eb11a;">以字母开头<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">abcd<span style="color: #99732f;">><br>   _a.-_<span style="color: #99732f;">></span></span></span></span></span><span style="color: #2eb11a;">综合应用<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">_a.-_<span style="color: #99732f;">><br><span style="color: #b8ae5b;">person<span style="color: #99732f;">></span></span></span></span></span></span></span></strong></span></code>
Nach dem Login kopieren

2.2、基本规范

  • 一个XML文档中有且只有一个根元素
  • XML中的元素必须正确的嵌套
  • XML中的元素必须闭合(除空元素外)

 

错误实例:必须正确的嵌套

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>person<span style="color: #99732f;">><br>    name<span style="color: #99732f;">></span></span></strong></span></span></span></span></span><span style="color: #2eb11a;"><strong>张某某<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">name<span style="color: #99732f;">>sex<span style="color: #99732f;">></span></span></span></span></span><span style="color: #2eb11a;">未知<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">sex<span style="color: #99732f;">><br><span style="color: #b8ae5b;">person<span style="color: #99732f;">></span></span></span></span></span></span></strong></span></code>
Nach dem Login kopieren

错误实例:元素标签必须闭合

<code><span style="color: #b8c21c; font-size: 11pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>person<span style="color: #99732f;">><br>    name<span style="color: #99732f;">></span></span></strong></span></span></span></span></span><span style="color: #2eb11a;"><strong>张某某<br><span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">person<span style="color: #99732f;">></span></span></span></strong></span></code>
Nach dem Login kopieren

 

 

2.3、根元素

在一个XML文档中有且只有一个根元素,根元素就是XML文档中最外层的那个元素。

 

2.4、空元素

在HTML有一些单标签:


空元素:没有内容的元素

可以写作:元素名称>

也可以写作:元素名称/>

3、属性

3.1命名规范:同元素的命名规范一致。

  • 属性=的名称必须以下划线和字母开头,后面可以跟字母,数字,符号(.-_)
  • XML对大小写铭感
  • XML属性名称中不可以出现空格符或者制表符

示例代码:

<code><span style="color: #b8c21c; font-size: 9pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>person <span style="color: #a0a0a0;"><span style="background-color: #46464d;">id</span><span style="color: #44ae44;">="01" <span style="color: #a0a0a0;">_id<span style="color: #44ae44;">="02" <span style="color: #a0a0a0;">_abc.<span style="color: #44ae44;">="003" <span style="color: #a0a0a0;">b<span style="color: #44ae44;">="</span></span></span></span></span></span></span></span></strong></span></span></span></span></span><strong>我是小<span style="color: #44ae44;"><span style="font-family: Consolas;">b" <span style="color: #a0a0a0;">B<span style="color: #44ae44;">="</span></span></span>我的大<span style="font-family: Consolas;">B"<span style="color: #99732f;">></span></span><span style="color: #2eb11a;">老张的<span style="font-family: Consolas;">XML<span style="color: #99732f;"><span style="color: #b8ae5b;">person<span style="color: #99732f;">></span></span></span></span></span></span></strong></code>
Nach dem Login kopieren

 

3.2、基本规范

  • 属性必须在写元素的开始标签中
  • 在同一个XML元素中,属性名称不能重复
  • XML属性的值必须使用引号引起来(单引号和双引号都可以)

示例代码:

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>perons <span style="color: #a0a0a0;">say<span style="color: #44ae44;">="</span></span></strong></span></span></span></span></span><strong>偶哈呦<span style="color: #44ae44;"><span style="font-family: Consolas;">" <span style="color: #a0a0a0;">says<span style="color: #44ae44;">='</span></span></span>偶哈呦<span style="font-family: Consolas;">'<span style="color: #99732f;">></span></span><span style="color: #2eb11a;">我是老张<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">perons <span style="color: #99732f;">></span></span></span></span></span></strong></code>
Nach dem Login kopieren

3.3、关于属性

问题思考:属性是用来干什么?

 

XML属性也可以用来存储数据,但是尽量不要使用属性来存储数据

属性是用来描述数据的数据。

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong>perons <span style="color: #a0a0a0;">say<span style="color: #44ae44;">="</span></span></strong></span></span></span></span></span><strong>偶哈呦<span style="color: #44ae44;"><span style="font-family: Consolas;">" <span style="color: #a0a0a0;">says<span style="color: #44ae44;">='</span></span></span>偶哈呦<span style="font-family: Consolas;">'<span style="color: #99732f;">><br>    member <span style="color: #a0a0a0;">id<span style="color: #44ae44;">="001"<span style="color: #99732f;">></span></span></span></span></span></span><span style="color: #2eb11a;">张三<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">member<span style="color: #99732f;">><br>    member <span style="color: #a0a0a0;">id<span style="color: #44ae44;">="002"<span style="color: #99732f;">></span></span></span></span></span></span></span><span style="color: #2eb11a;">张三<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">member<span style="color: #99732f;">><br>    member <span style="color: #a0a0a0;">id<span style="color: #44ae44;">="003"<span style="color: #99732f;">></span></span></span></span></span></span></span><span style="color: #2eb11a;">张三<span style="color: #99732f;"><span style="font-family: Consolas;"><span style="color: #b8ae5b;">member<span style="color: #99732f;">><br>    member <span style="color: #a0a0a0;">id<span style="color: #44ae44;">="004"<span style="color: #99732f;">></span></span></span></span></span></span></span><span style="color: #2eb11a;">张三<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">member<span style="color: #99732f;">><br><span style="color: #b8ae5b;">perons</span></span></span></span></span></span></span></span></strong></code>
Nach dem Login kopieren

4、注释

基本语法:

<code><span style="color: #e54242; font-size: 15pt;"><span style="font-family: Consolas;"><em><!--</em></span><span style="color: yellow;"><strong><em>我是注释内容</em></strong><span style="color: #e54242; font-family: Consolas;"><em>--></em></span></span></code>
Nach dem Login kopieren

 

注意:不可以在注释内容中出现 --    

5、特殊字符

在XML中存储的数据会有一些XML敏感的符号,我们可以通过转义字符实现替换。

在XML中提供了5中转义字符

 

<

>

&

'

"

 

6、CDATA区段

在XML提供了大批量特殊字符存储的方案。

示例代码:

<code><span style="color: #b8c21c; font-size: 9pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br><br></em><span style="color: #99732f;"><strong>code<span style="color: #99732f;">><br></span></strong></span><span style="color: #b8c21c;"><strong><br><br>    <br><br><br>    <meta charset="UTF-8">
<br>    <title>DTD</title></strong></span></span></span></span></span><strong>校验器<span style="color: #2eb11a;"><span style="font-family: Consolas;"><br>    <script><br />         //1</script></span>、实例化<span style="font-family: Consolas;">DTD</span>对象<span style="font-family: Consolas;"><br>        var M = new ActiveXObject('Microsoft.XMLDOM');<br>        //2</span>、开启<span style="font-family: Consolas;">DTD</span>校验<span style="font-family: Consolas;"><br>         M.validateOnParse = true;<br>        //3</span>、关闭异步<span style="font-family: Consolas;"><br>         M.async = false;<br>        //4</span>、载入<span style="font-family: Consolas;">XML</span>文档<span style="font-family: Consolas;"><br>         M.load('entity.xml');<br>
								<span style="color: yellow;"> //5</span></span>、配置调试信息<span style="font-family: Consolas;"><br>        document.write('</span>错误信息<span style="font-family: Consolas;">:'+ M.parseError.reason);<br>        document.write('<hr>');<br>        document.write('</span>错误行数<span style="font-family: Consolas;">:'+ M.parseError.line);<br>    <br><br><br><br><br><br><br><br></span></span></strong><span style="color: #b8c21c;">]]<span style="font-family: Consolas;">><br><br><br><span style="color: #99732f;"><strong><span style="color: #b8ae5b;">code<span style="color: #99732f;">></span></span></strong></span></span></span></code>
Nach dem Login kopieren

 

 

7、处理指令

作用:用来指挥软件如何解析XML文档。

语法:必须以""作为开头,以"?>"作为结尾。

常用处理指令:

        xml指令

        xml-stylesheet指令

例:

 

运行效果:

 

代码太多:见

8、中文命名XML

只有支持中文的字符集才可以使用中文命名的XML文档。

譬如常用的:utf-8

实例代码:以下字符集不支持XML中使用中文

<code><span style="color: #b8c21c;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="shift_jis" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #99732f;"><strong></strong></span></span></span></span><span style="color: #b8ae5b;"><strong>英雄联盟<span style="color: #99732f;"><span style="font-family: Consolas;">><br>    <span style="color: #b8ae5b;">英雄 <span style="color: #a0a0a0;"><span style="font-family: Consolas;">id<span style="color: #44ae44;">="</span></span>坦克<span style="color: #44ae44;"><span style="font-family: Consolas;">"<span style="color: #99732f;">></span></span><span style="color: #2eb11a;">德玛西亚<span style="font-family: Consolas;">.</span>盖伦<span style="color: #99732f;"><span style="font-family: Consolas;"></span><span style="color: #b8ae5b;">英雄<span style="color: #99732f;"><span style="font-family: Consolas;">><br>    <span style="color: #b8ae5b;">英雄 <span style="color: #a0a0a0;"><span style="font-family: Consolas;">id<span style="color: #44ae44;">="ADC"<span style="color: #99732f;">></span></span></span><span style="color: #2eb11a;">千珏<span style="color: #99732f;"><span style="font-family: Consolas;"></span><span style="color: #b8ae5b;">英雄<span style="color: #99732f;"><span style="font-family: Consolas;">><br>    <span style="color: #b8ae5b;">英雄 <span style="color: #a0a0a0;"><span style="font-family: Consolas;">id<span style="color: #44ae44;">="ADC"<span style="color: #99732f;">></span></span></span><span style="color: #2eb11a;">大嘴<span style="color: #99732f;"><span style="font-family: Consolas;"></span><span style="color: #b8ae5b;">英雄<span style="color: #99732f;"><span style="font-family: Consolas;">><br></span><span style="color: #b8ae5b;">英雄联盟<span style="color: #99732f; font-family: Consolas;">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></strong></span></span></code>
Nach dem Login kopieren

 

三、DTD语法

1、基本概念

  • DTD是:文档类型约束
  • DTD是用来约束XML文档的。
  • 凡是被DTD所约束的XML文档,其元素,元素的组织方式,元素所包含的内容,元素的属性都必须符合DTD所定义的规则。
  • DTD所定义的规则:是由开发者自定义。

 

两个凡是:

  • 凡是满足了XML语法规范的XML文档,我们将其称之为:结构良好的XML文档
  • 凡是满足了DTD规则的XML文档,我们将其称之为:有效的XML文档。

 

关系:有效和结构良好的XML文档有什么关系?

  • 结构良好的XML文档不一定是有效的XML文档
  • 有效的XML文档一定是结构良好的XML

 

一张图看懂两者关系:

s

 

 

 

 

 

 

 

2DTD结构

一个完整的DTD包含以下几点:

 

  • DTD声明
  • 元素声明
  • 属性声明
  • 实体声明

3DTD声明

通过DTD所编写的位置的不同,将其分为内部DTD和外部DTD

 

3.1、内部DTD

基本语法:

    

]>

<code><span style="color: #b8ae5b; font-size: 11pt;"><span style="font-family: Consolas;"><strong>/strong><span style="color: #b8c21c;">[<br>    <!--</span></span>编写相关的<span style="color: #b8c21c;"><span style="font-family: Consolas;">DTD</span>语法<span style="font-family: Consolas;">--><br>]<span style="color: #b8ae5b;"><em>></em></span></span></strong></span></span></code>
Nach dem Login kopieren

 

 

3.2、外部DTD

外部DTD文档的路径`>

  1. DTD校验器

作用:是引来校验XML文档是否符合DTD所定义的规则。

 

DTD校验器只支持IE浏览器,因为ActiveXObject对象只有在IE浏览器中存在,所以我们在调试的时候,通过IE浏览器调试。

 

4.1、创建DTD校验器五步走

<code><span style="color: #b8c21c;"><span style="font-family: Consolas;"><span style="font-size: 15pt;">    </span><span style="color: #c2c256; font-size: 9pt;"><strong>script<span style="color: #c2c256;">><br>
										<span style="color: #d14c42;">//<span style="color: yellow;"><em>1</em></span></span></span></strong></span></span></span><span style="font-size: 9pt;"><strong><em>、实例化<span style="color: yellow;"><span style="font-family: Consolas;">DTD</span>校验器<br>
								</span></em><span style="color: #ca9e4d;"><span style="font-family: Consolas;">var <span style="color: #b8c21c;">M = <span style="color: #ca9e4d;">new <span style="color: #7a7a43;">ActiveXObject<span style="color: #b8c21c;">(<span style="color: #34ae34;">'Microsoft.XMLDOM'<span style="color: #b8c21c;">);<br>
															<span style="color: #d14c42;">//<span style="color: yellow;"><em>2</em></span></span></span></span></span></span></span></span></span><em>、开启<span style="color: yellow;"><span style="font-family: Consolas;">DTD</span>校验器<br>
									</span></em><span style="color: #b8c21c;"><span style="font-family: Consolas;">M.<span style="color: #b9b9b9;">validateOnParse <span style="color: #b8c21c;">= <span style="color: #ca9e4d;">true<span style="color: #b8c21c;">;<br>
														<span style="color: #d14c42;">//<span style="color: yellow;"><em>3</em></span></span></span></span></span></span></span><em>、关闭异步<span style="color: yellow;"><br>
										</span></em><span style="color: #b8c21c;"><span style="font-family: Consolas;">M.<span style="color: #b9b9b9;">async  <span style="color: #b8c21c;">=<span style="color: #ca9e4d;">false<span style="color: #b8c21c;">;<br>
															<span style="color: #d14c42;">//<span style="color: yellow;"><em>4</em></span></span></span></span></span></span></span><em>、载入<span style="color: yellow;"><span style="font-family: Consolas;">XML</span>文档<br>
											</span></em><span style="color: #b8c21c;"><span style="font-family: Consolas;">M.<span style="color: #7a7a43;">load<span style="color: #b8c21c;">(<span style="color: #34ae34;">'demo02.xml'<span style="color: #b8c21c;">);<br>
																<span style="color: #d14c42;">//<span style="color: yellow;"><em>5</em></span></span></span></span></span></span></span><em>、配置调试信息<span style="color: yellow;"><br>
												</span></em><span style="color: #b9b9b9;"><span style="font-family: Consolas;">document<span style="color: #b8c21c;">.<span style="color: #7a7a43;">write<span style="color: #b8c21c;">(<span style="color: #34ae34;">'</span></span></span></span></span>错误信息<span style="color: #34ae34;"><span style="font-family: Consolas;">:'<span style="color: #b8c21c;">+ M.<span style="color: #b9b9b9;">parseError<span style="color: #b8c21c;">.<span style="color: #b9b9b9;">reason<span style="color: #b8c21c;">);<br>
																			<span style="color: #b9b9b9;">document<span style="color: #b8c21c;">.<span style="color: #7a7a43;">write<span style="color: #b8c21c;">(<span style="color: #34ae34;">'<hr>'<span style="color: #b8c21c;">);<br>
																									<span style="color: #b9b9b9;">document<span style="color: #b8c21c;">.<span style="color: #7a7a43;">write<span style="color: #b8c21c;">(<span style="color: #34ae34;">'</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>错误行数<span style="font-family: Consolas;">:'<span style="color: #b8c21c;">+ M.<span style="color: #b9b9b9;">parseError<span style="color: #b8c21c;">.line);<br><span style="color: #c2c256;"><span style="color: #00b109;">script<span style="color: #c2c256;">></span></span></span></span></span></span></span></span></span></span></span></span></span></strong></span></code>
Nach dem Login kopieren

 

  1. 元素声明

5.1、格式声明

基本格式:

实例代码:

<code><span style="color: #b8ae5b; font-family: Consolas; font-size: 11pt;"><strong>/strong><span style="color: #b8c21c;">[<br>    <br>]<span style="color: #b8ae5b;"><em>></em></span></span></strong></span></code>
Nach dem Login kopieren

 

52、内容声明(属性类型)

  • (#PCDATA)    被声明的元素的内容必须为字符串
  • ANY            被声明的元素的内容可以是子元素可以是字符串
  • EMPTY        被声明的元素的内容必须为空。

 

示例代码:

<code><span style="color: #b8c21c; font-size: 10pt;"><span style="font-family: Consolas;"><em></em><span style="color: #a0a0a0;"><strong>xml version<span style="color: #44ae44;">="1.0" <span style="color: #a0a0a0;">encoding<span style="color: #44ae44;">="UTF-8" </span></span></span></strong><span style="color: #b8c21c;"><em>?><br></em><span style="color: #b8ae5b;"><strong>span style="background-color: #46464d;">person</strong></span><span style="color: #b8c21c;">[<br>    person</span> ANY><br>    <br>    <br>]<span style="color: #b8ae5b;"><em>><br></em><span style="color: #99732f;"><strong><span style="background-color: #46464d;">person</span><span style="color: #99732f;">><br>    name<span style="color: #99732f;">></span></span></strong></span></span></span></span></span></span><span style="color: #2eb11a;"><strong>偶哈呦<span style="color: #99732f; font-family: Consolas;"><span style="color: #b8ae5b;">name<span style="color: #99732f;">><br>    age<span style="color: #99732f;">><span style="color: #b8ae5b;">age<span style="color: #99732f;">><br><span style="color: #b8ae5b;"><span style="background-color: #46464d;">person</span><span style="color: #99732f;">></span></span></span></span></span></span></span></span></strong></span></code>
Nach dem Login kopieren

 

 

5.3、子元素声明

  • (元素1,元素2,元素3,…..,元素n) 被声明元素必须按照这样的顺序出场
  • (元素1|元素2|元素3|…元素n) 被声明的元素必须出现其中一个

示例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[







]>
person>
name>
name3>name3>
name>
age>age>
sex>sex>
person>

 

5.4、混合声明

实例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[







]>

person>
name>name>
age>age>
address>address>
person>

 

3.5、修饰符

*    被声明的元素可以出现0次或者多次(随意)

?    被声明的元素可以出现1次或者0次(最多一次)

+ 被声明的元素可以出现1次或者多次(最少一次)

 

示例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[






]>
person>
name>name>
age>age>
age>age>
sex>sex>
job>job>
person>

  1. 属性声明

6.1、格式声明

6.2属性类型(内容声明)

  • CDATA                被声明的属性的值可以是字符串
  • ID                    被声明的属性的值在整个文档中必须唯一,且属性的值必须符合XML命名规范。
  • (值1|值2|值3|值4) 枚举,被声明的属性的值必须为其中一个。

实例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[







||未知) #REQUIRED>
]>
person id="001" >
name id="a02">name>
sex var="
未知">sex>
person>

 

6.3、默认值

  • #REQUIRED        被声明的属性必须包含
  • #IMPLIED        可有可无
  • #FIXED `固定值`    值必须为固定的

 

示例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[







]>
person>
name daming="
我是大明" xiaoming="我的小明">name>
age number="18">age>
sex>sex>
person>

 

7、实体

7.1、引用实体

<;

>

&

'

"

 

 

基本语法:

 

实例代码:

xml version="1.0" encoding="UTF-8" ?>
/strong>[

偶哈呦">
传智播客">
张某某">
十五期">
]>
person>
我是来自于 &school;&class;&teacher;
person>

 

7.2、参数实体:

参数实体用于DTD内部。

参数实体只能在外部DTD中定义。

 

 

基本语法:

使用方法:

%实体名称;

 

示例代码:waibu.DTD

person (name)>
% type "(#PCDATA)">
name %type;>
name "
偶哈呦">
school "
传智播客">
teacher "
张某某">
class "PHP
十五期">

实例代码:demo_17_canshushiti.xml

xml version="1.0" encoding="UTF-8" ?>
span style="color: #44ae44;">"waibu.DTD">
person>
name>
啦啦啦啦

name>
person>

 

运行效果:

 

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage