微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml基础1

整理自网络视频。

1.Xml概述

xml用来存储和传输数据的。与任何语言无关。

xml 可用于PHP,java,.net任何编程语言

XML(extensible markuP Language)通过标签标记数据。

设计宗旨:是存储,传输数据,而非显示数据。

XML标签没有被预定义

HTML是典型的标记语言---用标记修饰文本信息。

存储:存储试题,等。

传输:Ajax,webService.

属性节点不属于任何节点父节点和子节点

2.文档声明认声明的编码集:ISO-8859-1

浏览器查看的编码集,和文件保存的编码集一致的。

记事本认的保存编码方式(ANSI=gbk),若要保存为utf-8则可另存为。

当声明standlone = “yes”该XML不依赖于外部 的文件

使用XML描述复杂关系模型数据

<?xml version=”1.0” encoding= “utf-8” ?>

<book>

<id>001</id>

<name>thinkin java-java编程思想</name>

</book>

3.xml语法规范

所有的XML标签必须结束;标签不允许嵌套;XML有且有一个根元素;XML文件中的空格和换行都会被解析器解析。

1.XML严格区分大小写;元素和属性名称不能以数字开头;不能包含空格;名称中间不能有冒号。

2.属性一个元素可以定义多个属性的。属性的值可以单引号,和双引号标记

3.注释在声明元素的后面。<!-- --->

4.CDATA区域的内容不会被处理。---存放特殊的代码。转义,优先使用CDATA,后使用转义字符。

5.通过PI指令(引用css;效果等同于html),指令之前不能有注释。

6.XSLT显示XML,比CSS强大。CSS=HTML的样式表;XSL=XML的样式表。

4.XML技术两大类

1.存储,传输数据---程序员为了开发的简便,不使用约束。不使用XML约束技术,XML格式不一定正确。所有的XML数据内容生成,解析过程都是通过程序来完成的。

2.使用XML作为配置文件---XML DTD,XMLSchema

3.使用了约束,内容更加规范。企业部使用没有约束的,为了生成XML和解析XML时代码更加的简单

元素:标签

5.XML约束技术 DTD Schema

1、编写数据xml --- books.xml

2、编写dtd文件

* 为文档每一个元素(不同名称) <!ELEMENT

语法 <!ELEMENT 元素名称 子元素>

元素内部文本 #PCDATA

3、将xml文件与dtd文件关联起来

DTD与xml关联三种方式

1、内部DTD ----- 语法 <!DOCTYPE 根元素 []>

2、外部DTD (引用本地DTD) ----- 语法 <!DOCTYPE 根元素 SYstem "本地DTD文件位置" >

3、公共DTD (引用网络上DTD)<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">

* 公共DTD 使用 名称W3C规范官方组织规定的

元素(ELEMENT)定义

*内容特点符合含义

()子元素、分组

,代表子元素顺序

+ * ? ---- 正则表达式 + 1到多个 、* 任意个(0到多个)、 ? 0或者1个

| 多选一

特殊元素内容:文本类型内容 #PCDATA子元素内容如果为空 EMPTY

属性(ATTLIST)定义

语法:<!ATTLIST 元素名称 属性列表 >

属性列表:

属性名称 类型 约束

属性名称 类型 约束

属性名称 类型 约束

属性类型

1、CDATA 文本类型属性

2、(值1|值2|值3 ) 三个值选一个

3、ID 表示属性值唯一(内容不能以数字开头)

约束

1、#REQUIERD 属性必须

2、#IMPLIED 属性可选

3、fixed value 属性值固定

4、default 认值

实体(ENTITY)定义

对于xml数据内容重复,可以抽取实体(修改的时候修改一处就行了)

语法:<!ENTITY 实体名称 "实体内容" >

6.XML Schema 使用一套预先定义好元素和属性开发的

----- 预先定义好元素和属性 规定了schema 结构和内容

----- 定义schema 规定xml文档 格式和内容

预先已经定义好元素和属性 ------ 定义schema ------- 定义xml实例

Schema本身也是xml ,不像DTD使用单独语法

和XML文档一样,一个XML schema文档也必须有个根结点,其名称必须为schema

schema中定义元素,绑定URI地址(名称空间)上,用来唯一标识元素来自哪个schema

为什么要有名称空间?

一个xml实例引用多个Schema,当两个schema定义同名元素,为了区分同名元素引用自哪个文档。

Schema快速入门

1、编写数据xml文件

2、编写schema文件 .xsd

1) 引入 W3C 名称空间xmlns="http://www.w3.org/2001/XMLSchema"

一个元素 对应 <element>

区分复杂元素和简单元素

2) 为schema定义元素指定名称空间 URI (URI可以是任何路径)

3、在xml实例数据文件中 ,引用自定义Schema

elementFormDefault="unqualified"

1、如果schema elementFormDefault="unqualified" xml 实例文档引用名称空间必须使用前缀 ---- 前缀修饰根元素

2、当前xml实例文档所有子元素必须不能用前缀

名称空间作用 --- 唯一标识schema当中定义元素

简单元素 直接编写type属性 、复杂元素<complexType>

原文地址:https://www.jb51.cc/xml/297784.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。