XML DOM 加载函数
XML DOM 允许加载 XML 文档中的代码存储在一个函数中
loadXMLDoc() 函数
为了让接下来的范例代码易于维护(检查旧的浏览器),我们把加载远程 XML 文档的 JavaScript 代码封装成一个函数 loadXMLDoc()
function loadXMLDoc(dname) { var xhttp; if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(); return xhttp.responseXML; }
上面的函数可以存储在 HTML 页面的 <head> 部分,并从页面中的脚本调用
loadXMLDoc() 的外部 JavaScript
为了使上述代码更容易维护,以确保在所有页面中使用相同的代码,我们把函数存储在一个外部文件中
文件名为 "loadxmldoc.js",且在 HTML 页面中的 head 部分被加载
然后,页面中的脚本调用 loadXMLDoc()
函数
下面的范例使用 loadXMLDoc() 函数加载 books.xml
<!DOCTYPE html> <meta charset="utf-8"> <link href="/static/next/css/tryit.css?v=2017082407" rel="stylesheet"/> <script src="https://www.twle.cn/static/js/loadxmldoc.js"></script> <script> xmlDoc=loadXMLDoc("/static/media/dom/books.xml"); //code goes here..... </script> <footer>简单教程,简单编程<br/>Copyright © 简单教程 www.twle.cn</footer>
loadXMLString() 函数
为了使接下来的范例代码易于维护,我们把加载 XML 字符串的代码也封装成一个函数
function loadXMLString(txt) { var parser,xmlDoc; if (window.DOMParser) { parser=new DOMParser(); xmlDoc=parser.parseFromString(txt,"text/xml"); } else { // Internet Explorer xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(txt); } return xmlDoc; }
上面的函数可以存储在 HTML 页面的 <head> 部分,并从页面中的脚本调用
loadXMLString() 的外部 JavaScript
我们可以把 loadXMLString()
函数也存储在名为 "loadxmldoc.js"
<!DOCTYPE html> <meta charset="utf-8"> <link href="/static/next/css/tryit.css?v=2017082407" rel="stylesheet"/> <script src="https://www.twle.cn/static/js/loadxmldoc.js"></script> <script> text="<bookstore>"; text=text+"<book>"; text=text+"<title>Everyday Italian</title>"; text=text+"<author>Giada De Laurentiis</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); //codegoeshere..... </script>