XML全称 eXtensible Markup Language(可扩展标记语言),同为标记语言 它和HTML很相似,例如都能使用浏览器直接查看。
- 自我描述性:用户自定义标签
- XML的设计是用来存储数据 它没有显示效果。
xml与html差异
1、HTML中只能使用预定义的标签 自定义标签没有显示效果 而XML支持且必须是用户自定义标签。
2、HTML标签除了存储内容外 还有显示样式 标签的使用取决于要显示的样式(区分样式) 例如
some text 加粗显示
some text 加下划线
some text 斜体效果
而XML标签没有显示样式 使用不同的标签是为了区分不同类型的数据(区分数据)
3、HTML标签语法松散,例如 标签可以不关闭 属性可以不加单双引号。而XML语法严谨 必须严格遵循W3C的标准 否则报错。
- 一般格式:(区分大小写 开启,闭合必须完全一样)(只能嵌套,不可交叉)
<?xml version="1.0" encoding="utf-8" ?>
<fu>
<author>数据</author>
<asdfghjk>数据</asdfghjk>
</fu>
- XML标签可以有属性 但属性必须有值 且用单双引号括起来 否则解析出错。
- 当XML标签中的内容含有特殊字符(<、>、’、”)时 为避免解析时的歧义 需要使用字符实体替代(<$gt;&©),当内容较多时 可以将它们放入CDATA(character data)段中 表示这是一段字符数据 不要当成标签来解析。 CDATA: <![CDATA[ .....]]>
xml的用途
XML是用来存储数据的,它有很强的数据存储能力,是介于记事本和数据库之间的存储神器,相比记事本它可以结构化的存储数据 通过标签来检索和提取数据。同时 比数据库使用起来更加简便、灵活 无需安装 不用通过复杂的sql指令来查询数据。
在PHP中,相关函数有:
**SimplieXMLElement:**PHP内置了一个SimpleXMLElement的工具 用来解析xml格式的数据 它是一个系统类 直接使用。
simplexml_load_string:用来载入一段要解析的xml字符串,返回一个解析过的SimpleXMLElement对象。其实同上)
simplexml_load_file:载入一个要解析的XML文件,相当于先从文件读取一段xml字符串(file_get_contents) 然后解析。
有关:XPath是一门在 XML 文档中查找信息的语言,XPath可用来在 XML 文档中对元素和属性进行遍历。
而且Xpath并不仅仅应用于XML数据查询,其在很多语言中(PHP、Java、.NET以及Javascript),都可以广泛使用。
- 使用..选取父节点
- 使用[]过滤节点
- 使用@过滤属性