经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » XML相关 » XML » 查看文章
XML
来源:cnblogs  作者:29121  时间:2019/7/8 8:51:45  对本文有异议

XML

XML是什么?

(1)XML,Extensible Markup Language,可扩展标记语言,由W3C组织。

(2)XML的主要用途是用于存储数据,不同于HTML的主要目的是显示数据

(3)xml将数据包装成一定格式,有结构性,能够展现出数据间的关系,也便于维护,所以常见于用作配置文件

举例说明xml文件是如何结构化存储数据的

以下是一个简单的xml文件:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <frult>
  4. <name>apple</name>
  5. <price>15</price>
  6. </fruit>

面向对象思想中,纷杂的现实世界,可以被抽象为无数不同的Object,Object又包含有属性。Object之间的关系,Object内部属性的变化,只要量足够,就能模拟这个

变化万千的世界。

xml文档中将开始标签到对应的结束标签之间的内容表示为一个元素包含的内容,上面的xml文档中表示了一个fruit元素:

  * 尖括号里的"fruit"表示元素名,<fruit>表示开始标签,</fruit>表示结束标签,开始标签到结束标签这一段就表示fruit这个元素的内容

  * 子元素可以作为父元素的属性来使用,这和父元素在标签内定义属性效果是一样的,比如:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <fruit name="apple" price="15"></fruit>
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <fruit>
  4. <name>apple</name>
  5. <price>15</price>
  6. </fruit>

上面这两个xml文档存储的信息是一样的。

XML的版本

有1.0和1.1两个版本,通常用的是1.0版本,因为1.1版本不向下兼容

XML的组成

文档声明,元素,属性,注释,特殊字符,CDATA区,PI指令

(前四个是最常见的)

XML语法

要编写一个xml文件,首先在文档的第一列开始写一个文档声明:

  1. <?xml version="1.0" encoding="UTF-8">

文档声明必须写在第一行第一列,否则解析器将无法将文件识别为xml文档

文档声明中的属性:

属性 含义 属性值
version 规定文档版本 1.0 1.1
encoding 规定文档编码 UTF-8 GBK ISO8859-1等编码
standalone 规定是否需要依赖其他文件 yes no

xml定义元素需要遵循的规则:

  (1)一个xml文件只能有一个根标签

  (2)开始标签必须有对应的结束标签,即有始有终,标签中可以包含标签,但应该合理的嵌套。

    这是合理的嵌套:

  1. <fruit><name></name></fruit>

 

    这是错误的嵌套:

  1. <fruit><name></fruit></name>

  (3)标签命名时,应该注意:

    (i)大小写敏感

    (ii)不能以数字或下划线开头

    (iii)不能包含空格,换行和冒号

  (4)在标签中定义属性时,可以定义多个属性,但属性不能重名,属性名和属性值之间用=连接,属性值用引号包起来(单双引号皆可)

 

xml中的注释:<!-- 注释内容 -->

  * 注意,注释不能嵌套

 

特殊字符要在xml中显示,需要经过转义,用对应的转义字符来代替

特殊字符 对应的转义字符
& &amp
< &lt
> &gt
" &quot
' &apos

CDATA区:CDATA区主要针对某一块内容频繁用到特殊字符的情况,因为CDATA区中的特殊字符不需要转义

  语法:<![CDATA[内容]]>

 

PI指令:又可以叫处理指令,告诉程序如何解析一个xml文档

  常见的是引入样式:

  

  1. <?xml-stylesheet type="text/css" href="hello.css" ?>

以上就是一个PI指令,能够为整个xml文档引入css样式,如同html那样

  * 注意,设置样式只对英文标签名起作用,对中文标签名并不起作用

  

 

原文链接:http://www.cnblogs.com/clb-blog/p/11148340.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号