XML学习笔记1
一、XML与HTML的差异
XML 不是 HTML 的替代;XML 和 HTML 为不同的目的而设计:
- XML 被设计用来传输和存储数据,其焦点是数据的内容;
- HTML 被设计用来显示数据,其焦点是数据的外观
HTML 旨在显示信息,而 XML 旨在传输信息
二、XML文档形成一种树结构
XML 文档必须包含根元素;该元素是所有其他元素的父元素;
XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端;
所有的元素都可以有子元素:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
三、语法
1 XML文档必须有根元素
2 XML 声明文件的可选部分
3 所有XML元素必须有一个关闭标签
4 XML标签对大小写敏感
5 XML中标签必须正确嵌套
6 XML属性值必须加引号
7 实体引用:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
8 注释:
<!-- This is a comment -->
9 HTML 会把多个连续的空格字符裁减(合并)为一个
10 XML以LF存储换
四、元素命名规则
XML 元素必须遵循以下命名规则:
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
可使用任何名称,没有保留的字词
XML 元素是可扩展,添加新元素不会导致程序崩溃
五、命名空间
5.1 使用前缀来避免命名冲突
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
5.2 用于前缀的命名空间必须被定义
当在 XML 中使用前缀时,一个所谓的用于前缀的命名空间必须被定义;命名空间是在元素的开始标签的 xmlns 属性中定义的;命名空间声明的语法如下。xmlns:前缀="URI"
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
命名空间,可以在他们被使用的元素中或者在 XML 根元素中声明:
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
注释:命名空间 URI 不会被解析器用于查找信息;其目的是赋予命名空间一个惟一的名称.
最新文章
- jq 根据值的正负变色
- distribution 中一直在运行 waitfor delay @strdelaytime 语句
- Python 打包工具cx_freeze 问题记录及解决办法
- Xamarin.Android中使用ResideMenu实现侧滑菜单
- jQuery的选择器中的通配符[id^=&#39;code&#39;]
- OutputCache属性详解(二)一 Location
- Java学习笔记(3)
- hive-0.10.0-cdh4.3.0安装
- LCD驱动(FrameBuffer)实例开发讲解
- iOS之ASIHttp简单的网络请求实现
- 尝试跑一跑Scut
- cf B. Inna and Nine
- R语言︱SNA-社会关系网络 R语言实现专题(基础篇)(一)
- web项目中web.xml简介
- HDU 6397 Character Encoding (组合数学 + 容斥)
- EF Core中Fluent Api如何删除指定数据表中的行
- root密码重置(Centos 7)
- 《Head First 设计模式》例子的C++实现(2 观察者模式)
- Linux常用基本命令( tree, pwd, cd )
- Java8新特性之Lambda表达式
热门文章
- css 字体旋转
- vue.js中用npm安装vue-router时报错处理办法
- Android 基础知识 -- BroadcastReceiver
- PHP Files functions
- include=FALSE的作用
- java面试记录一:跳表、判断二叉树相同、冒泡排序、cookie和session的区别、设计模式(单例、工厂、模板方法、原型、代理、策略)、抽象类与接口的区别
- mybatis一级缓存和二级缓存(一)
- JS高级---正则表达式练习身份证号码
- 【Unity|C#】基础篇(4)——函数参数类型(值参/ref/out/params)
- Execl导出系统