XML语法小结
来源:互联网 发布:IP仿冒Mac地址上网 编辑:程序博客网 时间:2024/06/04 19:36
XML语法小总结
1.XML文档必须包含根元素。
上一篇的例子中
<?xml version="1.0" encoding="UTF-8"?><note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>
note是根元素,除声明外,最外层的开启标签标识的元素是根元素。
2.所有XML元素必须有一个关闭标签
每一个元素都必须有一个对应的关闭标签
<note>This is a note.//1 <content>balabalabala</content>//2 //3
上述的例子是错误的,需要在第三行加上note的关闭标签
3.XML标签对大小写敏感
<test>this is a test</test><Test>this is a test</Test>
上述两个元素虽然字面意思都是test,但XML认为是两个元素。一对开启标签和关闭标签的元素名字需要相同才是时合法的语法。
4.XML需要正确嵌套
因为XML是以树结构来组织元素的,所以嵌套的顺序必须符合一开一闭不能嵌套其他的元素的开或闭。
如下面的例子
是不允许出现的
<out><in>this is a test</out></in>
必须符合下面的格式
<out><in>this is a test</in></out>
引用网上的原话:正确嵌套的意思是在内打开,必须要在内关闭。
5.XML的属性值必须加引号(单引号或双引号都可)
下面的例子是错误的
<learn_note date=12/5/2017><target>learn xml</target></learn_note>
下面的例子是正确的
<learn_note date="12/5/2017"><target>learn xml</target></learn_note>
所有元素实例的属性都需要是字符串类型,比如在本文出现的标红字体,使用了如下的标签,属性颜色用字符串类型的RGB值来设定。
<font color="#ff00">在里面的文字将会被渲染成红色</font>
效果如下:
在里面的文字将会被渲染成红色
6.XML中的特殊转义字符
在XML中有一些字符有特殊的含义,其含义会和默认的一些语法起冲突,比如:< 解析器会认为这是一个新元素的开始。为了解决这个为,维护XML的人设计了 实体引用来代替这些字符。
XML中的实体引用有5个。其中”<” 号和”&”号是必须使用实体引用外,其他三个符号不是必须的,但最好使用实体引用来代替,特别是”>”.
7.XML中的注释
语法
<!--这里填注释内容-->
8.XML命名规则
XML的元素命名规则
* 名称可以包含字母,数字,字符
* 名称不能以数字或者标点符号开始
* 名称不能以xml字样开始,无论大小写,只要是xml这三个字母,都不可以。
* 名称不能包含空格
8.1命名习惯
两个以上单词组成的名称应以下划线在分割单词,以提高阅读性如:`bookname ----> <book_name>`
如果是”-“,”.”,”:”这三种字符的话,可能会在某些软件中出现误识别,执行别的语义操作。
9.XML的属性和元素的区别和使用建议
引用上面的例子
①
<learn_note date="12/5/2017"><target>learn xml</target></learn_note>
②
<learn_note ><date>12/5/2017</date><target>learn xml</target></learn_note>
例子①中的属性date和②中的元素date都表达了相同的信息,其实这两者在数据存储上没什么区别。
但是呢,如果date的数据是在使用者角度来看应该是一个数据文档中的数据,而不是一个对该数据文档中的某个数据标签的一个描述,建议扩展date,使之成为一个元素,这样子在数据的表达上更符合规范,且方便处理。
引用网上的理念:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
- XML语法小结
- xml小结
- xml小结
- xml小结
- XML小结
- XML小结
- xml 小结
- XML 小结
- xml小结
- XML小结
- XML小结
- XML小结
- xml小结
- xml小结
- XML语法
- XML语法
- XML 语法
- xml语法
- Android SharedPreferences存储基本数据类型、List集合、Map集合、对象都在这了
- dwr3.0服务器推送技术Demo
- 015-使用 docker history 查看镜像的构建过程
- 接口与抽象类的关系
- js原生写图片轮播和切换
- XML语法小结
- Linux常用快捷键
- Linux的yum 遇上“ no more mirrors to try ”
- mysql 一对多 查询 出一行数据
- python 中图像用SimpleITK和numpy.ndarray表示的差异
- SpringMVC 中文件上传 MultipartResolver两种使用方式及简单源码分析
- jQuery的 each方法,each(function(){})
- charles 抓包
- [docker]docker命令 docker inspect