// XML
[^** 特点 **]: XML 把数据从 HTML 分离;简化数据共享;简化数据传输;简化平台变更;使您的数据更有用;用于创建新的互联网语言;
// XML树结构
<?xml version="1.0" encoding="ISO-8859-1"?> // 声明: 用于定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)
<note> // 文档的根元素(像在说:“本文档是一个便签”)
<to>George</to> // 四个子节点
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
// Dome
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Xml的每一个文本跟标签都是一个节点
// XML语法
1.必须要有根元素;(即:一对包裹所有节点的标签)
2.要有声明且必须放置到第一位;<?xml version="1.0" encoding="utf-8"?> UTF-8 也是 HTML5, CSS, JavaScript, PHP, 和 SQL 的默认编码。
3.所有的元素都必须有一个闭合的标签;
4.标签对大小写敏感;
5.必须正确的嵌套;
6.属性值必须加引号;
-
7.实体引用: (即不能直接使用的字符)
8.注释: <! -- This is a comment -->
9.在 XML 中,空格会被保留(即:有写几个就保留几个)
10.XML 以 LF 存储换行
// XML 元素
-
xml元素是指从开始标签到结束标签内,所包含的所有元素,文本属性
// 元素命名规则:
- 名称可以包含字母数字及其他字符;
- 名称不能以数字跟标点字符开始
- 名称不能以xml的任何形式开始
- 名称内不能包括空格(可以使用任何的名称)
// XML的优势:可以在不中断应用程序的情况下进行扩展。(即:可以随时添加根元素下的所有内容)
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>
扩展
||
\/
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
// XML 属性
用于提供元素的额外信息;但属性通常不属于数据组成部分的信息。
属性的属性值必须用引号包裹(实体引用亦可) 且同一属性的各个属性值需要隔开;不分 单双引号的包裹
xml应尽量减少属性的使用
xml属性值一般用作ID的绑定
// XML验证
对您的 XML 进行语法检查
为了帮助您对 XML 进行语法检查,我们创建了一个 XML 验证器。
把您的 XML 粘贴到下面的文本框中,然后点击"验证"按钮来进行语法检查。
语法正确实例:<?xml version="1.0" encoding="UTF-8"?> encoding='UTF-8'用于验证
IE验证:
<?xml version="1.0" ?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<message>Don't forget me this weekend!</message>
</note>
// XML引入css
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
// XML JavaScript
// XML HTTP Request
[^XMLHttpRequest 对象用于在后台与服务器交换数据。]: 不重新加载页面的情况下更新网页; 页面已加载后仍可以从服务器请求\接收数据;可以在后台向服务器发送数据。
[^创建 XMLHttpRequest 对象的语法:]: xmlhttp=new XMLHttpRequest(); IE 5\6xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
// XML Parser
- 所有现代浏览器都有内建的 XML 解析器。;
- 出于安全方面的原因,现代的浏览器不允许跨域的访问。即:网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。
// 解析XML文档:
if (window.XMLHttpRequest) {
// code for IE7+, FireFox, Crome, Opera, Safari
xmlhtttp = new XMLHttpRequset()
} else {
// code IE 6/5 兼容ie6\5
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP')
}
xmlhttp.open("GET", "book.xml", false)
xmlhttp.send()
xmlDoc = xmlhttp.responseXML
// 解析XML字符串
txt="<bookstore><book>";
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";
if (window.DOMParser) {
parser = new DOMParser()
xmlDoc = parser.parserFromString(txt, "text/xml")
} else {
// IE
xmlDoc = new ActiveXObject('Microsoft.XMLDOM')
xmlDoc.async = false
xmlDoc.loadXML(txt)
}
// Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。
// XML DOM
[^DOM : ]: Domcument Objecr Model 用于定义访问和操作文档的标准方法