XML Parser
所有主要的浏览器都有一个内置的XML解析器来访问和操作XML。
XML解析器
XML DOM(文档对象模型)定义了用于访问和编辑XML的属性和方法。
但是,在可以访问XML文档之前,必须将其加载到XML DOM对象中。
所有现代的浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象。
解析文本
本示例将文本字符串解析为XML DOM对象,并使用JavaScript从中提取信息:
<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
示例解释
解析操作都需要使用javascript,首先我们看定义的一个字符串变量。
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
其次,通过以下js创建XML Dom解析对象。
paser = new DOMParser();
再次,解析器使用文本字符串创建一个新的XML DOM对象:
xmlDoc = parser.parseFromString(text,"text/xml");
该方法接收 2 个必要参数:
mimeType |
doc.constructor |
---|---|
text/html |
Document |
text/xml |
XMLDocument |
application/xml |
XMLDocument |
application/xhtml+xml |
XMLDocument |
image/svg+xml |
XMLDocument |
兼容IE的旧版本
Internet Explorer的旧版本(IE5,IE6,IE7,IE8)不支持DOMParser对象。
要处理旧版本的Internet Explorer,请检查浏览器是否支持DOMParser对象,或者创建一个ActiveXObject:
if (window.DOMParser) {
// code for modern browsers
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
} else {
// code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
跨域访问
出于安全方面的原因,现代的浏览器不允许跨域的访问。
这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。
XML DOM
在下一章中,您将学习如何访问 XML DOM 对象并取回数据。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/59673.html