javascript中支持firefox的xml读取操作实例
来源:互联网 发布:手机淘宝上怎么看直播 编辑:程序博客网 时间:2024/06/05 04:24
javascript中支持Firefox的xml读取操作实例
<html>
<head>
<title>javascript中支持Firefox的xml读取操作实例</title>
<script type="text/javascript">
var GetNodeValue = function(obj)
{
var str = "";
if(window.ActiveXObject) //IE
{
str = obj.text;
}
else //Mozilla
{
try
{
str = obj.childNodes[0].nodeValue;
}
catch(ex)
{
str = "";
}
}
return str;
}
if(document.implementation && document.implementation.createDocument)
{
XMLDocument.prototype.loadXML = function(xmlString)
{
var childNodes = this.childNodes;
for (var i = childNodes.length - 1; i >= 0; i--)
this.removeChild(childNodes[i]);
var dp = new DOMParser();
var newDOM = dp.parseFromString(xmlString, "text/xml");
var newElt = this.importNode(newDOM.documentElement, true);
this.appendChild(newElt);
};
// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
// prototying the XMLDocument
XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var oNSResolver = this.createNSResolver(this.documentElement)
var aItems = this.evaluate(cXPathString, xNode, oNSResolver,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
var aResult = [];
for( var i = 0; i < aItems.snapshotLength; i++)
{
aResult[i] = aItems.snapshotItem(i);
}
return aResult;
}
// prototying the Element
Element.prototype.selectNodes = function(cXPathString)
{
if(this.ownerDocument.selectNodes)
{
return this.ownerDocument.selectNodes(cXPathString, this);
}
else{throw "For XML Elements Only";}
}
}
// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
// prototying the XMLDocument
XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var xItems = this.selectNodes(cXPathString, xNode);
if( xItems.length > 0 )
{
return xItems[0];
}
else
{
return null;
}
}
// prototying the Element
Element.prototype.selectSingleNode = function(cXPathString)
{
if(this.ownerDocument.selectSingleNode)
{
return this.ownerDocument.selectSingleNode(cXPathString, this);
}
else{throw "For XML Elements Only";}
}
}
}
function loadXML()
{
var xmlHttp;
var name;
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
try
{
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
// 取得XML的DOM对象
var xmlDOM = xmlHttp.responseXML;
// 取得XML文档的根
var root = xmlDOM.documentElement;
try
{
var items = root.selectNodes("//urlset/url");
for(var i=0;i<items.length;i++)
{
//取得XML文件中内容:)
var strTitle = GetNodeValue(items[i].selectSingleNode("loc"));
var strLastMod=GetNodeValue(items[i].selectSingleNode("lastmod"));
var msg=document.getElementById("msg");
msg.innerHTML+=strTitle+" "+strLastMod+"<br/>";
}
}
catch(exception)
{
alert("error");
}
}
}
}
xmlHttp.open("GET", "sitemap.xml", true);
xmlHttp.send(null);
}
catch(exception)
{
alert("您要访问的资源不存在!");
}
}
</script>
</head>
<body onload="loadXML();">
<div id="msg" style="width:500px; height:auto;"></div>
</body>
</html>
<head>
<title>javascript中支持Firefox的xml读取操作实例</title>
<script type="text/javascript">
var GetNodeValue = function(obj)
{
var str = "";
if(window.ActiveXObject) //IE
{
str = obj.text;
}
else //Mozilla
{
try
{
str = obj.childNodes[0].nodeValue;
}
catch(ex)
{
str = "";
}
}
return str;
}
if(document.implementation && document.implementation.createDocument)
{
XMLDocument.prototype.loadXML = function(xmlString)
{
var childNodes = this.childNodes;
for (var i = childNodes.length - 1; i >= 0; i--)
this.removeChild(childNodes[i]);
var dp = new DOMParser();
var newDOM = dp.parseFromString(xmlString, "text/xml");
var newElt = this.importNode(newDOM.documentElement, true);
this.appendChild(newElt);
};
// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
// prototying the XMLDocument
XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var oNSResolver = this.createNSResolver(this.documentElement)
var aItems = this.evaluate(cXPathString, xNode, oNSResolver,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
var aResult = [];
for( var i = 0; i < aItems.snapshotLength; i++)
{
aResult[i] = aItems.snapshotItem(i);
}
return aResult;
}
// prototying the Element
Element.prototype.selectNodes = function(cXPathString)
{
if(this.ownerDocument.selectNodes)
{
return this.ownerDocument.selectNodes(cXPathString, this);
}
else{throw "For XML Elements Only";}
}
}
// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
// prototying the XMLDocument
XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var xItems = this.selectNodes(cXPathString, xNode);
if( xItems.length > 0 )
{
return xItems[0];
}
else
{
return null;
}
}
// prototying the Element
Element.prototype.selectSingleNode = function(cXPathString)
{
if(this.ownerDocument.selectSingleNode)
{
return this.ownerDocument.selectSingleNode(cXPathString, this);
}
else{throw "For XML Elements Only";}
}
}
}
function loadXML()
{
var xmlHttp;
var name;
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
try
{
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
// 取得XML的DOM对象
var xmlDOM = xmlHttp.responseXML;
// 取得XML文档的根
var root = xmlDOM.documentElement;
try
{
var items = root.selectNodes("//urlset/url");
for(var i=0;i<items.length;i++)
{
//取得XML文件中内容:)
var strTitle = GetNodeValue(items[i].selectSingleNode("loc"));
var strLastMod=GetNodeValue(items[i].selectSingleNode("lastmod"));
var msg=document.getElementById("msg");
msg.innerHTML+=strTitle+" "+strLastMod+"<br/>";
}
}
catch(exception)
{
alert("error");
}
}
}
}
xmlHttp.open("GET", "sitemap.xml", true);
xmlHttp.send(null);
}
catch(exception)
{
alert("您要访问的资源不存在!");
}
}
</script>
</head>
<body onload="loadXML();">
<div id="msg" style="width:500px; height:auto;"></div>
</body>
</html>
sitemap.xml
<?xml version="1.0" encoding="utf-8" ?>
<urlset>
<url>
<loc>http://blog.const.net.cn/alexa/index.htm</loc>
<lastmod>2007-08-29</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://blog.const.net.cn/index/More.yhtml</loc>
<lastmod>2007-09-03</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
</urlset>
- javascript中支持firefox的xml读取操作实例
- Javascript支持在Firefox下读取XML节点的方法
- 支持FireFox的JavaScript表格操作函数
- 兼容IE和firefox 操作XML的 javascript
- php输出xml的实例(JavaScript操作XML实例)
- firefox 中操作xmldoc.xml
- Firefox支持WebGL的操作
- Javascript库,Firefox操作XML DOM
- firefox中JS读取XML文件
- C#中对XML的读取操作
- C#中对XML的读取操作
- 编写了一个支持firefox和ie的javascript+xml进行数据分页的程序
- ie 和 firefox对javascript的支持
- firefox读取xml
- 从XML中读取数据到内存的实例
- c#读取xml中特定节点的值(实例)
- JavaScript操作XML文件(1)读取
- qt中关于xml的读取、写入、修改等操作
- updatewindow函数
- DataList 使用 PagedDataSource 分页
- javascript解析mxl的方法
- "nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12..."错误!
- 2008年10月21日记录(任务有待进一步完成)
- javascript中支持firefox的xml读取操作实例
- 初识敏捷
- sitronixwm的kernel居然不支持new和delete
- SendMessage 与Postmessage区别
- 平时关注.net今个儿用java做了个计算器.
- utf8和utf-8
- 收夺全攻略(作者:2-3佐京)转贴
- Polymorphism 小结
- Talking about 正则表达式30分钟入门教程