文档章节

XML知识

krircc
 krircc
发布于 2015/03/29 16:30
字数 1456
阅读 36
收藏 1

XML作用:1,数据存储 2,数据传输 3,数据配置 4

语法:

* 文档声明 --- 一看就会

<?xml version="1.0" encoding=”UTF-8” ?>

*** 注意事项

* 文档声明必须出现在XML文档的第一行第一列的位置.

文档声明的属性:

* version:代表xml使用版本.  1.0  属性是必须的.

* encoding:字符集编码. 编码集:  GBK  GB2312  UTF-8  ISO-8859-1 属性是可选的。

* standalone:代表XML文档是否是独立存在.   yes/no 属性是可选的。

***** 因为WEB开发时候 乱码一致跟随.

* 元素就是标签:

* 标签有开始 必须 有结束.

* 写法:  

  1. <tag>元素</tag>  2<tag></tag> <tag/>  3,标签必须合理嵌套.<a><b></a></b>是错误的 4,只有一个跟节点.

* 命名规范:

* 区分大小写

* 标签名 不能以 数字 或 _ 开头  错误的:<1a> <_b>

* 不能以XML xml Xml开头.

* 标签名中间不能出现空格或冒号   错误的: <a b>  <a:b>

* 属性:重要

* 一个标签上 可以有多个属性.

* 属性不能同名.

* 属性一定要加引号(单引号或双引号.)

* 命名与标签的名称一致.

* 注释:不看都会.

* HTML的注释一致:<!--  注释  -->

* 注意:注释不能嵌套. 注释能否放在XML的文档声明之前? 不行.

* CDATA和转义字符 一看就会

转义字符:

< &lt;

> &gt;

" &quot;

& &amp;

' &apos;

CDATA:字符数据 Character Data:字符数据.

* 写到标签中特殊字符.不会认为是标签了 而认为是一段字符串.

* 语法:

<![CDATA[

写在CDATA区的内容.

]]>

* XML中引入CSS 可以 给XML加样式.

* XML出现替换HTML. 但是没有替换掉. XML语法比HTML复杂. XHTML:过度产品  W3CHTML升级 HTML5

XML约束:

***** (面试)XML的约束有哪些?区别是什么?

* 两种:DTD Schema.

DTD:约束XML文档.

* 浏览器只负责解析XML 不负责XML语法校验.

DTD使用的步骤:

* DTD保存为UTF-8格式.

* 1.XML文档中 想出现标签.

* 2.DTD中定义标签.

<!ELEMENT 元素名称 元素内容>

* 3.查看标签中是简单的还是复杂.

* 如果是简单标签.   (#PCDATA)

* 如果是复杂标签.   (子标签)

* 4.XML中引入DTD.

* <!DOCTYPE 跟元素 SYSTEM "DTD的路径.">

DTD详解:(会写  关键是能够看懂...)约束XML

XMLDTD的关联:引入DTD

* XML文档内部 (在XML文件内部)

<!DOCTYPE 书架 [

<!ELEMENT 书架 ()>

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

<!ELEMENT 书名 (#PCDATA)>

<!ELEMENT 作者 (#PCDATA)>

<!ELEMENT 售价 (#PCDATA)>

<!ELEMENT 简介 (#PCDATA)>

]>

* XML的约束文档DTD 在本地的一个文件从存在 (引入本地的DTD

<!DOCTYPE 书架 SYSTEM "DTD路径">

* XML可以引用网络上的DTD (引入网络DTD

<!DOCTYPE 跟元素 PUBLIC "DTD名称" "DTD路径">

DTD语法:

* 定义元素

* 语法:

<!ELEMENT 元素名称 元素类型>

* 元素类型:

(#PCDATA): 可解析字符数据

EMPTY:        空元素

ANY:        任意元素

(子节点):

* 子节点的关系:

, : 子元素出现是有顺序的.

| : 子元素出现是或的关系.

* 子节点出现的次数:

+ : 子元素出现1次或多次.

* : 子元素出现0次或多次.

? : 子元素出现0次 或 1.

案例:<!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>

* 定义属性:AttributeList

<!ATTLIST 元素名称

属性名称 属性类型 属性约束

属性名称 属性类型 属性约束

>

属性类型:

CDATA :字符数据

枚举 :从某个范围取值.

ID :唯一.

属性约束:

#REQUIRED :属性是必须的

#IMPLIED :属性是可选的

#FIXED :属性是固定值

默认值 :属性是默认值

* 定义实体

XML经常会使用的一段内容 可以使用一个名称来代替.

定义一个实体.

<!ENTITY 实体名称 实体值>

在页面中引用实体:

&实体名称;

XML的解析: (*****) 程序员代码.

***** XML的解析技术有那些?区别是什么?

解析技术有很多.但是常用的 DOM SAX

DOM:将文档一次加载到内存 形成树形结构 . 很方便的做元素的增删改的操作.但是如果文档非常大 容易导致内存的溢出.

SAX: 事件驱动的方式,边读边解析.如果文档很大不会导致内存溢出 但是不能做增删改的操作.


Schema约束.(看懂.)  *** 名称空间.

* DTDSchemaXML进行约束.

(面试题:XML的约束技术有哪些?区别是什么?

* DTDSchema.

* 区别:

* Schema本身语句是XML

* 由于是XML语法可以很容易被解析器所解析.

* 它可以做出更加严格的语义和语法约束.

* Schema支持名称空间.

* 开发Schema文档的步骤:

* 1.XML文档中出现了哪些标签.(6)

* 2.需要引入W3C预定义的标签和属性 开发文档.

* 3.定义元素.使用<element>标签定义元素.

* <element name="书架"></element>

* 4.看元素类型:简单类型 还是 复杂类型.

* 5.如果是简单数据类型  在element标签中使用type属性指定类型.

* <element name="书名" type="string"></element>

* 6.如果是复杂类型:使用<complexType>

* 7.如果在复杂元素中出现的是有顺序的,使用<sequence>

* XML文档的开发步骤:

* 在跟节点上引入W3C.

* 引入自定义的Schema.

* Schema的名称空间:(*****

* 名称空间是用来 区分多个Schema中定义的重名的问题.

* 一个XML引入一个DTD文档 但是 可以引入多个Schema文档.

* 名称空间可以想象为是Java中包,区分类名重名的问题.

* 名称空间只能有一个是默认的.默认的名称空间可以不写前缀(在默认名称空间下的元素也可以不写前缀.).


© 著作权归作者所有

共有 人打赏支持
krircc
粉丝 22
博文 43
码字总数 71997
作品 2
深圳
程序员
初始API编程

概念:所谓的微信开发,其实就是调用微信平台提供的免费接口,来实现各种功能;微信开发其实就是典型的接口编程。 接口:可以理解为放在互联网上的固定地址的function;我们只需要按照说明进...

笨小熊
2015/09/15
192
0
XML语法简单介绍

第一部分 XML相关的背景知识 XML的全称是Extesiable Markup Language,翻译为可扩展的标记性语言 跟JSON一样,是一种用于交互的数据格式 也叫XML文档(XML Document) 举例: <videos> <vide...

不孤独的美食家
2015/10/09
48
2
JSON入门教程

小编在项目中遇到了JObject、JArray两种数据,在之前的C#中见到的不多,其实他们分别是json对象、json数组,是Linq to Json中的内容,让我们再来回顾一下Json的知识吧。 Json是什么? Json(J...

zt15732625878
01/05
0
0
SOAP、WSDL 以及 UDDI

Web Services 拥有三种基本的元素。 它们是:SOAP、WSDL 以及 UDDI。 什么是 SOAP? 基本的 Web services 平台是 XML + HTTP。 SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程...

长平狐
2012/11/28
100
0
Linq初级班 Linq To XML体验(基础篇)

LINQ To XML体验(基础) 这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还有许多不...

老朱教授
2017/10/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL 到底支不支持事务嵌套?

最近开发中遇到了使用MySQL,多次开启事务,出现了数据错乱问题,伪代码如下: begin; # 操作1 begin; # 操作2 rollback; 执行完后出现了操作1的数据真正写入,只有操作2的数据回滚...

宇润
32分钟前
3
0
fastDfs应用(安装过程待写)

1.效果 2.安装 2.1 导入已经安装好fastDFS的镜像 2.1.1 导入镜像 2.1.2 更改系统兼容性 2.1.3 开机 2.1.4 修改 一下内容 2.1.4.1 修改系统的ip 原来系统ip...

Lucky_Me
35分钟前
3
0
5. Python3源码—字符串(str)对象

5.1. 字符串对象 字符串对象是“变长对象”。 5.1.1. Python中的创建 Python中字符串(strs)对象最重要的创建方法为PyUnicode_DecodeUTF8Stateful,如下Python语句最终会调用到PyUnicode_D...

Mr_zebra
55分钟前
3
0
第十章:路由网关(Zuul)进阶:过滤器、异常处理

第十章:路由网关(Zuul)进阶:过滤器、异常处理 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者...

DemonsI
57分钟前
2
0
nginx屏蔽指定接口(URL)

Step1:需求 web平台上线后,需要屏蔽某个服务接口,但又不想重新上线,可以采用nginx屏蔽指定平台接口的办法 Step2:具体操作 location /dist/views/landing/UNIQUE_BEACON_URL { re...

Linux_Anna
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部