Xml是什么?

XML:可扩展标记语言

1.与HTML相似,HTML注重页面·展示

2.xml注重于数据的保存

3.无需预编译

4.符合w3c的标准

可扩展:可以自定义

标记:计算机所能认知的信息符号

xml的组成部分:

1.文档声明 <?xml version="1.0" encoding="UTF-8"?>

2.元素 <p></p>

3.属性 <p id="haha"></p>

4.注释 解释说明 <!-- vfgfh-->

5.特殊字符

6.CDATA区域

xml解析器不会处理,而是当成字符串原样输出

<![CDATA[xml内容]]>

xml中的注意点:

1. xml文件中只能有一个根节点

2.节点要成对出现,有开始有闭合

3.节点必须正确嵌套

4.严格区分大小写

dom,HTML 都是类似于一个倒挂的树,我们把倒挂的树称之为===》dom树

DOM:(Doucument Object Model)文档对象模型

DOM模型:

解决创建maven慢的情况

archetypeCatalog=internal

Key 和value

解析xml文件的方式:

  1. DOM:基于xml文档树结构的解析,把xml文件中内容都读取到内存中,比较占内存,消耗资源多。
  2. SAX:基于事件的解析,消耗资源小
  3. JDOM:针对于Java的特定的模型 满足2   8原则
  4. DOM4J:for(4)JDOM的一个分支,源码开放,性能优异,功能强大

DTD:Document  Type Definition(文档类型定义)

1. 规范编码

  1. 可以让浏览器正常的显示

<!ELEMENT  school (grade+)>

ELEMENT:元素,关键字

School:元素名称

Grade:子元素或者元素类型   CDATA   PCDATA  (Parse)解析数据,不包含子元素

():用来给元素分组

+ :该对象最少出现一次

* :0到多次,可有可无,并且可以多次

?:出现或者不出现,出现的话只能出现一次

,  :元素出现的顺序

| :两者必须出现一个

DTD文档使用方式:

2.DTD分为外部DTD和内部DTD两种:

1)使用内部DTD格式:

<!DOCTYPE 根元素名称 [

<!ELEMENT 子元素名称 (#PCDATA) >

]>

2)引用外部DTD格式:

<?xml version="1.0" encoding="gb2312">

<!DOCTYPE 根元素名称 SYSTEM “outDtd.dtd”>

<根元素名称>

...

</根元素名称>

---------------

引用外部DTD时,要在DOCTYPE中使用关键词SYSTEM或PUBLIC   ,后者是已经被认可的文件。

通常引用自己写的dtd文件使用SYSTEM关键词

---------------

*************************************************************************************************************************

3.DTD对元素声明

<!ELEMENT 元素名 元素内容 >

ELEMENT 关键字,表示对元素类型进行声明

元素名 为当前指定元素名称

元素内容可分为:EMPTY、子元素型、混合型、ANY和#PCDATA 5种

元素内容类型:

1)EMPTY 该元素只可能有属性而不会有元素内容。

<!ELEMENT element-name EMPTY>

实例:

<br/>

2)ANY 可以包含DTD中定义的其他任何元素或已编译的字符数据,包括PCDATA、元素或元素与PCDATA的混合内容。

<!ELEMENT element-name ANY >

3)#PCDATA 不包含其他子元素而只能有文本数据,文本数据可以是普通字符、CDATA段中的内容、字符引用和实体引用。

<!ELEMENT element-name (#PCDATA) >

4)子元素型 分为3种:序列:<!ELEMENT 根元素名称(a,b,c,d ..)> , 选择<!ELEMENT 根元素名称 (a|b|c|d..) > 混合<!ELEMENT 根元素名称((a|b),(c|d))>

5)混合型 既可以包含子元素又可以包含文本数据<!ELEMENT 根元素名 (#PCDATA | 子元素)* >

?字符:它说明元素可以出现0次或1次。

* 字符:它说明元素可以不出现,或出现1次或多次。
 + 字符:它说明元素必须出现至少一次,或者说可以出现一到多次

如:<!ELEMENT 根元素名称(a+,b?,c*,d ..)>

DTD对属性声明

<!ATTLIST 元素名 属性名 属性类型 属性限定条件>

---------------------------------------------------------

属性类型(常见):

CDATA 字符数据,即没有标记的文本

枚举  备选属性值的值列表

ID 该属性在文档中具有唯一性

IDREF 文档中元素的ID类型属性的值

IDREFS 由空格分隔的元素的多个ID

ENTITY 在DTD中声明的实体名称

ENTITIES 在DTD中声明的由空格分隔的多个实体的名称

NMTOKEN XML名称记号

NMTOKENS 由空格份额表格的多个XML名称记号

NOTATION 在DTD中声明的记法的名称

----------------------------------------------------------

属性限定条件(常见):

#REQUIRED  元素的每个实例必须具有该属性

#IMPLIED 元素实例不必包含该属性

#FIXED+固定值 属性值被指定为固定值,且用户不能改变

默认值 如果元素中不包含该属性的属性值,那么默认值将作为属性值

实体声明与引用

实体分为以下几种

1.普通实体与参数实体

1)普通实体:

<!ENTITY name "text" >

name:实体引用的名称

"text":实体的内容

引用方式:&name;

<p>&name;</p>

2)参数实体:

<!ENTITY % name "text" >

text为参数实体内容,其中不能包含如:>,<,&,',",等特殊字符,这些字符的使用可以用特有的字替代

引用方式为 : %name;

2.内部实体与外部实体

内部实体如上,,

外部实体:

<!ENTITY name PUBLIC FRI "URI" >

PUBLIC格式:实体内容是被某一个领域所认可的文件

SYSTEM:通常自己写的用这个

FRI:Formal Public Identifier 为正式公用标识符,全球唯一

xml简介与使用的更多相关文章

  1. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  2. Ehcache(02)——ehcache.xml简介

    http://haohaoxuexi.iteye.com/blog/2113728 ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义Ca ...

  3. PHP XML简介

    php xml文件编程. xml简介 XML作用 1.可以作为程序间通讯的标准(ajax text xml) 2.可以作为配置文件 3.可以作为小型数据库 XML语法 一个xml文件应该包括以下几个内 ...

  4. 雷林鹏分享:XML 简介

    XML 简介 XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 应该掌握的基础知识 在您继续学习之前,需要对以下知识有基本的了解: HTML JavaScript 如果您希望首先学习 ...

  5. web.xml里welcome-file欢迎页面配置及web.xml简介

    web项目欢迎页面的配置 <welcome-file-list> <welcome-file>/WEB-INF/index.html</welcome-file> ...

  6. Dom4j下载及使用Dom4j读写XML简介(转)

    Dom4j下载及使用Dom4j读写XML简介 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:ht ...

  7. Json/Xml简介和处理模型

    JSON json简介 JSON是一种基于文本的数据交换格式,源自JavaScript,用于Web服务和其他连接的应用程序.以下部分介绍了JSON语法,JSON使用概述以及生成和解析JSON的最常用方 ...

  8. XML简介与CDATA解释

    简介XML 是一种受到广泛支持的 Internet 标准,用于以一种特殊的方式编码结构化数据.实际上,以 XML 编码的数据可以通过任何编程语言解码,人们甚至可以使用标准的文本编辑器来阅读或编写 XM ...

  9. XML简介

    xml的简介(了解) * eXtensible Markup Language:可扩展标记型语言                       ** 标记型语言:html是标记型语言          ...

  10. Android:XML简介 & 解析方式对比(DOM、SAX、PULL)

    目录   示意图 1. 定义 XML,即 extensible Markup Language ,是一种数据标记语言 & 传输格式 2. 作用 对数据进行标记(结构化数据).存储 & ...

随机推荐

  1. ThinkPHP中通过URL重写隐藏应用的入口文件index.php的相关服务器的配置

    [ Apache ] 将httpd.conf配置文件中mod_rewrite.so所在行前面的‘#’去掉 AllowOverride None 将None改为 All 效果图

  2. 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理

    一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...

  3. [荐][转]为何应该使用 MacOS X(论GUI环境下开发人员对软件的配置与重用)

    一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...

  4. 剑指Offer——旋转数组的最小数字

    题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一 ...

  5. 深入理解Mysql索与事务隔离级别

    1. 概述 1.1 定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供需要用户共享的资源.如何保证数据并 ...

  6. 百度 验证码识别API 使用

    先到百度云申请文字识别API ,会给你一个API KEY和一个SECRET KEY,免费,一天最多500次请求. try: temp_url = 'https://aip.baidubce.com/o ...

  7. mac本配置python环境

    mac本上一般是自带python解释器的. 我选择了SublimeText2作为编辑器.安装个SublimeCodeIntel插件,可以进行代码自动补全. 新建一个python文件:hello.py ...

  8. 一 创建github账号以及上传工程到github

    第一步:安装git. apt-get install git 第二步:配置用户名和密码: git config –global user.name “XXX” git config –global u ...

  9. Linux环境配置全局jdk和局部jdk并生效

    全局jdk配置: 1.root用户登录 2.进入opt目录,新建java文件夹 cd  /opt mkdir java  上传jdk7u79linuxx64.tar.gz包到java文件夹并解压 jd ...

  10. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...