可拓展标记语言(Extensible Markup Language),标准通用标记语言的子集,用于标记电子文件使其具有结构性的标记语言。被设计用来传输和存储数据,而超文本标记语言被设计用来显示数据,他们都是标准通用标记语言的子集。
所有的现代浏览器均可以查看原始的xml文件,当时不要指望xml文件会直接显示为html页面,如:
<?xmlversion="1.0" encoding="UTF-8"?>
<food>
<chichken>chichken</chichken>
<fish>fish</fish>
<duck>duck</duck>
<tomato>tomato</tomato>
<haha type = "nide" text="wode"nihao="buhao">
<inner1>inner</inner1>
</haha>
</food>
xmlhttp = newXMLHttpRequest();
xmlHttp= new ActiveXObject(“Microsoft.XMLHTTP”);老版本ie
现代浏览器解析xml文件的过程是把xml文件转换为xml dom对象,这样就可以通过javascript对xml对象进行访问
Xml标签对大小写敏感,且不需有关闭标签,此外xml文档必须有根元素,其属性值要加引号
Xml实体引用时在引用一些特殊意义字符时候,用实体引用来代替:
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ‘ | 单引号 |
" | “ | 引号 |
Xml注释和html相似:
<!-- this is a comment -->
Xml元素命名规则:
i. 名称可以含字母、数字及其他字符
ii. 名称不能以数字或标点符号开始
iii. 名称不能以字符xml或XML、Xml开头
iv. 名称不能包含空格
属性值必须被引号包围,单引号双引号均可使用,当时如果属性值本身包含双引号,则有必要使用单引号包围它
使用前缀来避免命名冲突:
<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>
使用命名空间避免命名冲突,xmlns属性就是命名空间属性。Xml命名空间属性放置于元素开始标签之中,并使用语法:xlmns:namespace-prefix=”namespaceURI”使用命名空间可以省去子元素使用前缀的工作
命名空间的实际使用时在使用xsl中。
XmlCDATA:所有xml中的文本均会被解析器解析,只有CDATA区段中的文本会被解析器忽略结构为:<![CDATA[“ 内容“]]>