用途:存储和传输数据
优点:由于是作为文本传输,不用于显示,所以可以跨平台、跨程序使用结构:树形结构,拥有自我描述性,元素可扩展
语法:
①标签必须结束
②区分大小写
③必须有根元素
④元素属性的值必须加引号(单双引号均可,且单双引号之间可以嵌套使用)
⑤实体引用,如:表示 小于时 符号“<”和标签的开始时一样的,因此会出错,
通常会用对应的实体引用:<; 来表示 小于号
>; 大于
&; 与
&apos; 单引号
"; 双引号
⑥<!-- 注释的写法与html一样 -->
⑦空格会保留,以LF符换行、CR符回车元素命名:可以包含字母、数字和其他,但不以数字或标点开始,不能含空格,除XML外无保留字
使用元素还是使用属性?通常用元素
①属性不能含多个值,元素可以
②属性不含树状结构,元素可以
③属性不易扩展,元素可以什么时候使用属性?元数据(数据的数据)如:
当给类似的元素分配ID以便作为索引(像HTML中的id属性)时,应该将id作为元素的属性使用XML DTD(document type definition 文档类型定义)
可分为内部和外部的dtd,用于约束验证XML文件的格式是否有错误查看XML文件:大部分浏览器会把XML显示为其源码,Safari会隐去其标签只显示文本信息
XML文件也可以用CSS文件来美化样式,只需要在文档类型声明之后,添加链接:
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
但通常不推荐是用css来做,而是用XSLT
10.使用XSLT(eXtensible Stylesheet Language Transformations) 可以将xml文件转化为html文件来显示
※. XML parser(解析器):能够将XML文档转换为 XML DOM对象,使其可以被JavaScript 操作,通常用XMLHttpRequest对象来完成,变为DOM之后的XML文档可以对元素进行 添加、修改、删除
具体使用可参考:http://www.runoob.com/xml/xml-parser.html
11.命名空间:使用前缀来解决不同文档中 元素名重名冲突的问题 例:
<h:table></h:table> 和 <f:table></f:table> 就不会冲突了
注意:命名空间是在元素的开始标签的 xmlns 属性中定义的,命名空间声明的语法如下:
xmlns:前缀="URI",所以上述元素的正确用法是:
<h:table xmlns:h="http://www.w3.org/TR/html4/"></h:table>
当然,也可以在XML的根元素中声明:
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3cschool.cc/furniture">
...
</root>
12.XML DOM的高级功能:
①获取元素的值 .nodeValue
②获取属性的值 .getAttribute("属性名")
③改变属性的值 .nogeVlue = '值'
④创建新的属性 .setAttribute("属性名","值")
⑤创建元素 .createElement() .cteateTextNode() appendChild()
⑥删除元素 .removeChild()