一、XML概述
1、XML是可扩展标记语言。是由W3C指定并维护的,目前最新的版本是1.0
2、XML作用:
2.1传输数据,它是一种通用的数据交换格式
2.2配置文件。
二、xml语法
1、XML的声明
1.1语法:<?xml version="1.0" encoding="UTF-8"?>
保存在磁盘上的文件编码要与声明的编码一致。
encoding属性的默认 编码是:UTF-8
1.2XML的声明必须出现在XML文档的第一行
2、XML的注释
2.1语法:<!--这是注释-->
2.2注释不能出现在声明之前
3、CDATA区
CDATA是Character Data的缩写
把标签当做普通文本内容;
示例:
<![CDATA[
<itcast>www.itcast.cn</itcast>
]]>
三、DTD约束
1、常用约束:DTD(Document Type Definition)文档类型定义
Schema
2、格式良好的XML:遵循XML语法的文档
有效的XML:遵守约束的文档。
有效的XML文档一定是格式良好的,但格式良好的不一定是有效的
3、单独的DTD文档在保存时要以UTF-8编码进行保存
4、编写DTD
4.1在XML文档中直接编写:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE 书架 [
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
]>
<书架/>
4.2引入外部DTD
4.2.1:当引用的DTD文档在本地时,采用如下方式:
<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>
4.2.2:当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>
5、定义元素:
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA):表示标签主体内容为普通字符串
EMPTY:表示标签没有主体内容
ANY:主体为任意内容
(子元素):标签中的子元素
用逗号分开:按顺序出现
用“|”:选择其中一个
出现次数:
如果元素后面没有+*?:表示必须且只能出现一次
+:表示至少出现一次,一次或多次
*:表示可有可无,零次、一次或多次
?:表示可以有也可以无,有的话只能有一次。零次或一次
6、定义元素的属性
语法:<!ATTLIST 元素名称
属性名称1 属性值类型 设置说明
属性名称2 属性值类型 设置说明
....
>
属性值类型:
CDATA:普通文本数据
A|B|C "A":表示枚举值,只能从A、B、C中取其中一个,A为默认值
ID:表示取值不能重复
设置说明:
#REQUIRED:表示该属性必须出现
#IMPLIED:表示该属性可有可无
#FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值"
直接值:表示属性的取值为该默认值

xml复习的更多相关文章

  1. Java基础——XML复习

    XML                 SGML : 标准通用置标语言    Standard Generailzed    Markup Language XML                   ...

  2. XML复习笔记(复习资料为菜鸟教程里的XML教程)

    XML 指可扩展标记语言(eXtensible Markup Language) XML 的设计宗旨是传输数据,而不是显示数据. XML 标签没有被预定义.您需要自行定义标签. XML 被设计为具有自 ...

  3. android基础知识复习——RelativeLayout布局属性、背景、半透明设置(XML设置)

    转自:http://blog.csdn.net/fansongy/article/details/6817968 复习布局与XML,写了一个空的登录界面.XML的注释我写在当行的后面了.程序运行图: ...

  4. xml的复习

    xml的复习 1.概念:可扩展标记语言 2.功能: *存储数据    1.配置文件     2.在网络中传播 3.xml与html区别: xml语法严格,HTML语法松散 xml存储数据,HTML展示 ...

  5. .net xml 增删改查基础复习及干货分享

    今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机 ...

  6. xml 解析 java 基础复习

    document  解析 sax  解析 dom4j 解析(摘自csdn redarmychen) dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常 ...

  7. 网络HTTP、JSON、XML解析等 复习

    一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是 ...

  8. 【Android 复习】:AndroidManifest.xml 文件详解

    <?xml version="1.0" encoding="utf-8"?> <!-- package 包表示整个Android应用程序的主要 ...

  9. 复习知识点:XML解析数据,JOSN解析数据,GET请求数据,POST请求数据

    GDataXMLDocument-XML解析 #pragma mark - ======== Dom XML解析 - (IBAction)domParserActionXML_Document:(id ...

随机推荐

  1. 【解决】org.apache.hadoop.hbase.ClockOutOfSyncException:

    org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Se ...

  2. HDU-1402 A * B Problem Plus FFT(快速傅立叶变化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1402 一般的的大数乘法都是直接模拟乘法演算过程,复杂度O(n^2),对于这题来说会超时.乘法的过程基本 ...

  3. 现代程序设计——homework-01

    1.我的GitHub用户 首先,接触到现代程序设计这门课之后我才正式开始使用GitHub和它的客户端,以前都是去网站看代码.扒样例.我注册的账户名为:hennande.目前该账户中有我的第一份关于ho ...

  4. 浅谈OC运行时(RunTime)

    常说OC是一门动态语言,这使得OC开发可以变得相当灵活,但是归根结底OC还是一种编译型的语言,其具有一定的动态性,但是其动态特性也比不上JavaScript这种解释型的语言.OC的动态性主要体现在这个 ...

  5. altium designer 里如何设置PCB默认字符默认大小(PCB丝印)

    注意:此操作只对新导入的元件生效.      

  6. linux中文设置

    近期出现用户发邮件乱码问题,前面服务器刚刚切换过来,忘了装中文字体了. 本地调试在windows环境下,所以每次看都好的,于是我看了下linux服务器的编码,果然默认的不是中文字体,所以在生成pdf的 ...

  7. cdll和windll的差别

    Python要想调用C语言写的动态连接库.不仅要兼容C接口的调用习惯,还须要兼容C语言的数据类型.幸运的是ctypes库已经做了这双方面的工作.以便调用动态连接库是很方便的.在Hello World的 ...

  8. Access-数据类型与.net OleDbType枚举类型对应关系

    列表最常见的数据类型映射 访问类型名称 数据库数据类型 OLEDB 类型 .NET 框架类型 成员名称 文本 VarWChar DBTYPE _ WSTR System.String OleDbTyp ...

  9. #define和预编译指令

    今天再总结一点#define和预处理指令的使用. 预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器.可见预处理过程先于编译器对源代码进行处理. 预处理指令是以#开头的代码行,#后是 ...

  10. 信号之alarm和pause函数

    使用alarm函数可以设置一个计时器,在将来某个指定的时间,该计时器会超时.当计时器超时时,产生SIGALRM信号.如果不忽略或不捕捉此信号,则其默认动作是终止调用该alarm函数的进程. #incl ...