一.AJAX:
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),
是指一种创建交互式网页应用的网页开发技术。
AJAX 的核心是 JavaScript 对象 XMLHttpRequest。
二.XML:
全称:Extensible Markup Language(可扩展标记语言)。
*注意:
1.XML中的<xxx>标记被称为“元素”,也可称为节点或标签。
2.元素名称不能以数字和下划线开头,不能以xml开头,不能包含空格或冒号。
3.XML只有一个根元素。
4.XML元素,属性区分大小写。
5.XML的属性值用双引号分割。
6.HTML中的转义字符也可以在XML中使用,还可以使用<![CDATA[需要转义的字符]]>。
*应用:
1.在AJAX中使用XML回传数据。
2.使用XML存储少量的数据,方便简洁。
3.使用XML作为表现层。
4.使用XML作为数据传输的中间格式,称为不同编程语言间交流的桥梁。
例:<body>
<div>
<b>To:</b><span id="to"></span><br/>
<b>From:</b><span id="from"></span><br/>
<b>Message:</b><span id="Message"></span><br/>
</div>
</body>
<script>
<!-- 1.创建对象 -->
var str=new XMLHttpRequest();
<!-- 2.调用方法 ,显示index.xml文件的内容-->
str.open("GET","index.xml",false);
<!-- 3.发送请求 -->
str.send();
<!-- 4.创建DOM转换 -->
var parse=new DOMParser();
<!-- 5.把字符串转换成DOM对象 -->
var doc=parse.parseFromString(str.responseText,"text/xml");
var value=doc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("to").innerHTML=doc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=doc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("Message").innerHTML=doc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
三.XML与HTML的区别:
HTML XML
1.可扩展性: 不具有扩展性 标记语言,具有扩展性
2.侧重点: 如何表现数据(界面) 如何结构化描述数据
3.语法要求: 要求不严格 对标记的嵌套顺序,配对,大小写有严格要求
4.可读性,维护性:代码难于阅读,维护 结构清晰,便于阅读,维护
5.数据和显示: 数据描述与显示方式合为一体 数据描述和显示方式分离
四.对XML数据进行验证的两种方式:
1.DTD(Document Type Definition)文档类型定义:
*DTD文件开头也需写<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT books(books*)> //ELEMENT用来描述元素,*表示元素可以出现0到多次
<!ELEMENT name(#PCDATA)> //#PCDATA表示元素中为纯文本
<!ELEMENT authors(author+)> //+表示元素可以出现1到多次
<!ELEMENT author(name,nation?)> //?表示元素可以出现1次
<!ELEMENT author.name(#PCDATA)> //如果元素重名,使用父元素的名字作为前缀
*必须在XML文档中引用DTD文件,验证才能生效。引用格式:<!DOCUTYPE books SYSTEM "demo.dtd">
2.SCHEMA:
(具有支持数据类型,自定义数据类型,支持元素继承,属性组等新特性)
*若SCHEMA中没有指定目标命名空间则用以下方式指定文件的位置:
<books xsi:noNamespaceSchemalocation="books.xsd" //SCHEMA文件位置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instace"> //SCHEMA命名空间
*若若SCHEMA中指定了目标命名空间则如下配置:
<books xsi:spaceSchemalocation="http://www.mySchema.com books.xsd"//目标命名空间+空格+//SCHEMA文件位置
xmlns="http://www.mySchema.com"> //默认命名空间
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instace">
打开App,阅读手记