`
拓子轩
  • 浏览: 204860 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

XML

    博客分类:
  • note
阅读更多

什么是配置文件
为什么要学XML?XML离你的工作有多远?
1.XML是一种通用的数据交换格式
 1.1配置文件就是记录应用程序的配置信息的文件。
 1.2传统配置文件的格式:
 #Db.Properties
 DBServer=192.168.0.100
 Database=emp
 Port=1442
 Username=zxx
 Password=123 
2.许多系统的配置文件都是XML格式
3.JSP文档也逐步向XML语法格式过渡
4.许多项目都采用XML作为数据交换格式
5.在日常应用中会经常看见XML格式的文件
6.掌握XML是软件开发人员的一种基本技能

 

文档声明
1.最简单的声明语法:<?xml version="1.0" ?>
2.用encoding属性说明文档的字符编码:<?xml version="1.0 encoding="GB2312" ?>
3.用standalone属性说明文档是否独立:<?xml version="1.0" encoding="GB2312" standalone="yes" ?>

 

元素定义
1.一个XML元素由一个标记来定义,包括开始和结束标记以及其中的内容。
2.一个元素中可以嵌套若干子元素
3.格式良好的XML文档必须有且仅有一个根元素,其它元素都是这个根元素的子元素。
4.空元素可以不使用结束标记,但必须在起始标记的结束定界符(>)前面增加一个正斜(/)字符,例如:
 <img src="log.gif" />
5.所有的元素都必须合理的嵌套,绝对不允许标签交叉。

 

元素的标记名称规范
可以包含字母、数字以及其它一些可见字符,但必须遵循下面的一些规范:
1.区分大小写
2.不能以数字或"_"(下划线)开头
3.不能以字符组合xml(或XML、或Xml等)开头。
4.不能包含空格。
5.名称中间不能包含冒号(:)。

 

元素的标记名称建议
1.不用使用".",因为在很多程序语言中,"."用于引用对象的属性。
2.最好不用用减号(-),而以下划线(_)代替,以避免与表达式中的(-)运算符发生冲突。
3.名称尽量简短,以减少XML文档的大小。
4.名称的大小写尽量采用同一标准,要么全部大写,要么全部小写。
5.名称可以使用非英文字符,例如中文,但是有些软件可能不支持英文字符以外的字符,在使用时应考虑这种情况。

 

属性定义
1.一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:<售价 单位=“元”>58</售价>
2.属性值一定要用双引号(")或单引号(')引起来
3.属性遵循与标签相同的命名规范
4.属性可以被改成用子元素来描述同样的信息

 

注释
1.用“<!--注释-->"这种格式加入注释
2.XML声明之前不能有注释
3.一对注释符号之中不能包含另一对注释符号

 

CDATA区
1.CDATA区全称为character data,以"<![CDATA["开始,以"]]>"结束,在两者之间嵌入不想被解释程序解释的元素数据
2.CDATA区的起始和结束处有和没有空格和换行符是有区别的
3."<![CDATA["不能写成"<!cdata["或"<![Cdata[".
4.CDATA区内部不能出现字符串"]]>",该如何解决?

 

特殊字符
&-----&amp;
<-----&lt;
>----&gt;
"------&quot;
' ------&apos;

 

处理指令
1.处理指令是processiing instruction的中文翻译,通常简称PI,用来为处理XML文档的应用程序提供指示信息。
2.处理指令以"<?"作为开头,以"?>"作为结尾,XML声明语句就是最常见得一种处理指令。
3.XML分析器把处理指令原封不动地传给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理。


格式良好的(Well-formed)XML
1.计算机程序在处理XML文档之前,首先必须能够解析出XML文档内容中的各个元素的相关信息。
2.用于解析XML文档的解析器程序对应的英文术语叫Parser。
3.要让计算机程序解析出XML文档内容所表述的信息,XML文档更应该严格遵循一定的语法。
4.遵守XML基本语法规则和规范的XML文档就可以称之为”Well-formed XML",中文意思就是“格式良好的XML”。
XML的约束模式
1.约束模式定义了XML文档中允许出现


元素定义
1.语法格式:<!ELEMETNT 元素名称 使用规则>
2.举例:
 <!ELEMENT 书架 (书名,作者,售价)>
 <!ELEMENT 书名 (#PCDATA)>
3.使用规则:
 (#PCDATA)------是parsed character data的简写
 (书名,作者,售价)
 (书名,#PCDATA)
 EMPTY
 ANY

 

元素定义----------->细节
1.DTD使用与XML文档同样的注释方式:<1--注释内容-->
2.每条元素定义语句的顺序是无关紧要的
3.具有不同用途的元素不能使用相同的元素名
4.一个元素的各个组成成分之间可以有各种关系:
 <!ELEMENT MYFILE (TITLE AUTHOR EMAIL)>
 <!ELEMENT MYFILE (TITLE, AUTHOR, EMAIL)>
 <!ELEMENT MYFILE (TITLE| AUTHOR| EMAIL)>
5.在元素的使用规则中可以定义子元素出现的次数:(书+)、(书?)、(书*)、(书)
6.一对圆括号()可用于将括在其中的内容组合成一个可统一操作的分组,分组中可以嵌套更小的分组。
 <!ELEMENT MYFILE((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>

 

DTD属性定义
1.语法格式:
 <!ATTLIST 元素名
  属性名1 属性类型 设置说明
  属性名2 属性类型 设置说明
  属性名3 属性类型 设置说明
2.举例:
 <!ATTLIST 商品
  类别 CDATA #REQUIRED
  颜色 CDATA #IMPLIED
 >
3.应用:
 <商品 类别=“服装” 颜色=“黄色”>...</商品>
 <商品 类别=“服装”>...</商品>

 

属性定义-------->设置说明
1.#REQUIRED
2.#IMPLIED
3.#FIXED
4.直接使用默认值

 

属性定义------->类型
1.CDATA  2.ENUNERATED 3.ID 4.IDREF和IDREFS
5.NMTOKEN和NMTOKENS 6.NOTATION 7.ENTITY和ENTITYS

 

实体定义
1.实体的根本作用是为一段文本内容创建一个别名,以后在XML文档中就可以多次引用这个别名,
 XML解析器程序将把XML文档中出现的别名引用转换成其所对应的文本内容。
2.在DTD定义中,一条<!ENTITY...>语句用于定义一个实体。
3.实体可分为两种类型:引用实体和参数实体。

 

实体定义------>引用实体
1.语法格式:
 <!ENTITY 实体名称 “实体内容”>
 <!ENTITY 实体名称 SYSTEM "外部XML文档的URL">
2.引用方式:&实体名称;

 

实体定义------->参数实体
1.语法格式:<!ENTITY % 实体名称 “实体内容”>
2.引用方式:%实体名称;


XML Schema
1.XML Schema与DTD的比较
1.1 XML Schema符合XML语法结构
1.2 DOM、SAX等XML API很容易解析出XML Schema文档中的内容
1.3 XML Schema则采用与XML文档同样的合法性验证机制
1.4 XML Schema对名称空间支持的非常好
1.5 XML Schema比XML DTD支持更多的数据类型,并支持用户自定义新的数据类型
1.6 XML Schema定义约束的能力非常强大,可以对XML实例文档作出细致的语义限制
1.7 XML Schema基本上满足了关系模式在数据描述上的需要
1.8 XML Schema不能像DTD一样定义实体,比DTD更复杂
2.名称空间

分享到:
评论

相关推荐

    xml2axml反编译AndroidManafest文件

    使用java工具xml2axml.jar反编译AndroidManafest文件 通过xml2axml.jar工具反编译AndroidManafest文件 还原AndroidManafest.xml详细过程: 1、获取到apk 2、解压获取里面的AndroidManifest.xml文件 3、在xml2axml....

    maven的本地仓库配置文件settings.xml和项目中文件pom.xml.zip

    一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings.xml 二、Myeclipse关联的maven本地仓库配置文件...

    xml加密解密工具XMLEncryption

    xml加密(XML Encryption)是w3c加密xml的标准。这个加密过程包括加密xml文档的元素及其子元素,通过加密,xml的初始内容将被替换,但其xml格式仍然被完好的保留。 介绍 我们有3个加密xml的方法 1、仅仅使用对称...

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML是一个简单小巧,可以很容易集成到其它程序中的C++ XML解析器。 它能做些什么 简单地说,TinyXML解析一个XML文档并由此生成一个可读可修改可保存的文档对象模型(DOM)。 XML的意思是“可扩展标记语言...

    XML与XMLSchema

    XML发展历史概述 XML文档组成元素 XML Schema组成元素 XML相关API

    vb6XML读写

    vb中读写XML文件实例Dim XMLDoc As DOMDocument Dim root As IXMLDOMNode Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList Dim xn As IXMLDOMNode Dim xnf As IXMLDOMNode Dim xe As IXMLDOMElement Set ...

    Android APK xml 批量解密工具

    android开发中有时会想研究借鉴一下设计思路和UI风格,但解压apk包后 layout文件夹下xml文件一般都是加密的。在网上找到了一个工具,可以完美地解密xml文件,但这个工具的使用方法是:调cmd 然后...

    QT中读取XML文件三种方式 的实例

    XML(eXtensible Markup Language)是一种通用的文本格式,被广泛运用于数据交换和数据存储(虽然近年来 JSON 盛行,大有取代 XML 的趋势,但是对于一些已有系统和架构,比如 WebService,由于历史原因,仍旧会继续...

    纯C语言解析xml字符串

    纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 ...

    Altova XMLSpy2013简体中文版破解补丁

    Altova XMLSpy是一款业界最畅销的XML编辑器,这款XMLSpy2013重点新增了智能修复、Java应用程序无缝集成、集成外部程序等新功能,而且本站提供的是中文破解版,能给用户带来极大的方便。 Altova XMLSpy主要用于建模,...

    xml和java bean互相转换工具包(简单易用)

    xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...

    andxml xml解密工具

    andxml汉化版是一个xml文件反编译工具,可与APKTOOL反编译配合使用,APK文件使用APKTool反编译生成XML文件后,就可以直接通过它进行汉化编辑 注意: 1、一键机器翻译会造成某些代码出现翻译错误现象,请人工识别。...

    opencv+python 人脸识别的xml文件

    haarcascade_eye.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_frontalcatface.xml haarcascade_frontalcatface_extended.xml haarcascade_frontalface_alt.xml haarcascade_frontalface_alt_tree.xml haar...

    XML - 实验(2) -- Schema

    《XML》实验任务书 【2】 XML Schema [实验目的] 1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素...

    让开源项目TinyXml支持Unicode(wchar_t)

    开源项目TinyXml项目所涉及的字符编码说明如下: 1. TinyXml函数调用接口的字符型参数,仅支持`窄字符`格式(char*),不兼容`宽字符`格式(wchar_t*)。 2. TinyXml函数提供的Xml内容解析功能,仅支持以ANSI编码和UTF...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    易语言 xml解析 易语言 xml解析 教程 带源码

    易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 教程 带源码

    tinyxml与tinyxml2

    tinyxml与tinyxml2两个版本的源码,操作xml很方便,解压可以直接使用.

    动态生成Rss文件 Xml操作 Xml文件的修改

    动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...

    Maven pom.xml与settings.xml详解

    主要介绍了Maven pom.xml与settings.xml详解的相关资料,这里对pom.xml与setting.xml详细的研究说明,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics