概念
XML名为可扩展标记语言,与HTML结构类似。
用途
用于结构化存储、传输数据。
语法
例子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resource PUBLIC "namespace" "namespace.dtd">
<resource xmlns="https://www.serendipity.com">
<table id="001">
<td>apple</td>
<td>pear</td>
</table>
</resource>
- 需要xml声明
<?xml version="1.0" encoding="UTF-8"?>
- 标签需要对应,有开始标签,也需要有结束标签
- 标签大小写敏感
- 必须要有根元素
- 特殊字符
< == <
> == >
& == &
\' == &pos;
" == "
属性
属性用来描述元素的额外信息,而不同于描述数据信息,数据信息建议使用标签描述。
DTD、Schema
XML DTD和 XML Schema是用于验证、约束XML的,XML Schema是XML DTD的替代方案。
<!DOCTYPE resource
[
<!ELEMENT resource (table)>
<!ELEMENT table (td)>
<!ELEMENT td (#PCDATA)>
]>
XSLT样式表
XSLT用于替换XML数据并转化为另一种格式的XML或者HTML。Linux和Mac上可以使用xsltproc工具执行转化,windows可以使用XMLSpy软件。
-bash-3.2$ xsltproc namespace.xsl namespace.xml
<html><body>
apple
pear
</body></html>
XML Javascript
用于提取服务器端的XML文件并解析成XML DOM对象,如下示例:
<!DOCTYPE html>
<html>
<body>
<h1>namespace</h1>
<div id="main">
</div>
<script>
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","namespace.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("main").innerHTML=
xmlDoc.getElementsByTagName("td")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
namespace
用来避免元素命名冲突,当相同元素有不同的结构时,可以区分开来,。比如示例table元素:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resource PUBLIC "namespace" "namespace.dtd">
<resource xmlns="https://www.serendipity.com" xmlns:d="https://www.serendipity01.com">
<table id="001">
<td>apple</td>
<td>pear</td>
</table>
<d:table>
<d:name>desk</d:name>
<d:width>150cm</d:width>
<d:height>80cm</d:height>
</d:table>
</resource>
XSLT提取原XML文件到新的XML文件时,需要指定原XML的命令空间,否则XSLT将提取不到节点的数据。
CDATA
使用CDATA包含的数据不被XML解析器解析。
相关技术
- XSLT
- XPath
- XML DTD
- XML Schema
- SOAP
- XQuery
- RSS
- SVG
- XML DOM
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。