XML入门
来源:互联网 发布:帕拉卡斯人知乎 编辑:程序博客网 时间:2024/06/01 10:42
XML导图
history
要想知道XML是什么首先得知道为什么会有这门技术的存在,是为了解决什么问题而产生的?
随着网络的发展,越来越多的人利用网络来传送信息,传送的信息格式各样,信息交换也越来越频繁,所以对数据的传输效率和质量提出了新的要求。XML在这里就是为了解决数据信息交换的时候数据格式不同的问题。它是在SGML的基础上发展起来的,是SGML的精简子集,也是一种元标记语言,具有自解释性,可以用于编写其他新的标记语言
what
定义:可扩展标记语言(Extensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
内部结构
- 文档
- 处理指令:
<?PI-target instruction ?>
PI-target指的是要使用哪个程序来处理instruction这个文件。eg:<?word document="Charles.doc"?>
这里指的是通过Word来处理Charles.coc这个文件 - 类型说明:(Document Type Declaration)是XML符合有效性的基本要求,指向文档类型定义(DTD)或其它模式说明。
- 编码:把各种字符转化为能让计算机处理的技术。常用的有:UTF-8、GB2312.
- 处理指令:
- 元素
- 标记:基本格式
<tag-name [attribute="..."[attriList]]>
语法要比HTML严格很多,不要偷懒了 - 字符数据:标签之间的就是字符数据了,但是如果要显示特殊字符的话比如“<>,”&”等字符的话就需要转换了
- CDATA:如果字符数据太多的话,转换很麻烦,于是乎就有了CDATA;语法:
<![CDATA [text]]>
- 标记:基本格式
- 属性:用于描述元素的一些特性,就相当于你有身高体重等属性一样。
- 实体:其实是一种存储单元,其实引用实体就跟引用某个参数的值一样方便,主要目的是为了xml文档结构清晰。
How
既然是可扩展标记语言,就是说明自己能定规则,规定有哪些元素属性以及元素属性的个数如何显示等。
DTD
- 类型定义
内部:用于和特定的XML文档进行关联,必须位于文档中。基本语法:<!DOCTYPE Charles [<!ELEMENT elementName (EleList)]>
外部:如果XML要想具有有效性就必须与DTD文件相联系,如果都用内部的话很麻烦而且复用性不好。<!DOCTYPE ROOT "URL(网址或本地的绝对路径)">
混合:给大家点自由发挥的空间,哈哈。 - 声明
元素:
<!ELEMENT name type><!--声明单个元素--><!ELEMENT parent (child1,child2)><!--声明多个元素--><!ELEMENT child1 (#PCDATA)><!ELEMENT child2 EMPTY>
属性:
<!ATTLIST element-name attribute-name attribute-type default><!--关键字:#REQUIRED:表示属性必须出现;#IMPLIED:表示可有可无;#FIXED:属性值是固定的-->属性数据类型也有很多:CDATA,Enumerated,ENTITY,ID,IDREF,IDREFS,NMTOKEN,NMTOKENS,NOTATION等,有兴趣自己再了解
实体:
<!--声明实体--><!ENTITY name "content"><!--引用-->&name;
Schema
DTD只有对元素的PCDATA类型和于属性的CDATA,与DTD相比较Schema的优势在于对数据类型的进一步规范。此外还有定义的时候不再需要一种专门的形式化语言来定义,体现了一致性。
总结
学习知识最主要的是把握重点,但是重点在哪?重点就在这个知识是用来解决什么问题的,在这个问题上。然后再去围绕如何解决这个问题去学习知识,准确的说是获取知识,速度肯定有非一般的感觉。
阅读全文
1 0
- XML 入门
- XML入门
- XML入门
- XML入门
- XML入门
- XML入门
- XML入门
- xml入门
- XML入门
- XML入门
- XML入门
- xml入门
- 【XML】入门
- 【XML】入门
- XML入门
- xml入门
- XML入门
- XML入门
- JNI调用Java方法
- Android谷歌官方语言Kotlin用法入门教程
- 【微信小编】动态地图gif制作
- JAVA的23种设计模式---建造者模式
- Oracle的基本操作
- XML入门
- mtk IMEI号
- CSDN日报20170519 ——《思维的局限》
- 搜索 B
- github 如何下载代码
- springmvc上传下载
- java求最大公约数,最小公倍数
- (document).height()与$(window).height()
- Github上如何给别人贡献代码