Xml学习笔记(二)Javascript篇_XHTML/WEB_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Xml学习笔记(二)Javascript篇

作者:黑客防线网安XML教程基地 来源:黑客防线网安XML教程基地 浏览次数:0

本篇关键词:笔记学习一个可以
黑客防线网安网讯:一、XML解析器(Parser)所有的现代浏览器都会内建一个XML解析器(Parser)来读取和操作XML。Parser将XML读入内存中将之转换为一个DOM(Documnet Object Model)对象。我们可以使用JavaScript...

一、XML解析器(Parser)
所有的现代浏览器都会内建一个XML解析器(Parser)来读取和操作XMLParser将XML读入内存中将之转换为一个DOM(Documnet Object Model)对象我们可以使用JavaScript存取到这个对象。(备注Microsoft的Parser可以加载XML文件和字符串中的XML内容而其他的一些Browser则分别使用不同的Parser去实现。)所有的Parser都可以遍历XML树,读取、插入、删除节点(elements)和attribute。在谈论XML解析时,我们是用Nodes(节点)来代替Elements(元素)。

一般我们会从两个地方加载XML:XML文件或者包含XML的string(字符串)。

使用MicrosoftParser加载XML文件
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");
使用Parser读取保存在string(字符串)中的XML内容
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
注意以上是使用同一个对象的不同方法去实现的。其他的Browser则是用不同的对象去实现。
var xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("note.xml");
var parser=new DOMParser();
var doc=parser.parseFromString(txt,"text/xml");
二、XML DOM
DOM(Document Object Model)定义了一种标准的方式去存取和操作XML文件。DOM将XML视作一个树结构。通过DOM可以增加、修改、删除Element,同时可以修改包括Element的Attribute和Element包含的内容(text)。我们将一个Element及其包含的所有东西(Attribute、Text)称作一个Node。

以下是读取<to>的节点的语句:
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue和用HTML的DOM读取一个id="to"的语句比较可以看到很多相似之处:
document.getElementById("to").innerHTML(更多有关的DOM内容,可以参考XML DOM指南)

下面是一个完整的例子。用JavaScript从一个XML文件中读取内容,显示到HTML中。以下代码是跨浏览器的。已经考虑到不同浏览器的问题。

<html>
<head>
<script type="text/javascript">
function parseXML()
{
try
{//try IE first
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try
{//try Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e)
{
alert(e.message);
return;
}
}
xmlDoc.async=false;
xmlDoc.load("note.xml");

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
}
</script>
</head>

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16114-1.html
网站维护教程更新时间:2012-04-06 01:08:17  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer