js xml封装解析
来源:互联网 发布:用友软件培训中心 编辑:程序博客网 时间:2024/06/02 04:21
// JScript 文件
//检查浏鉴器类型。。。
function IEOrFire()
{
this.isIE=true;
if (window.ActiveXObject)
{
isIE=true;
}
else
{
isIE=false;
}
return isIE;
}
//创建xml对象
function CreateXmlDoc()
{
var xmlDoc=null;
if (IEOrFire())
{
xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
}
else
{
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("","",null);
}
}
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.validateOnParse = false;
xmlDoc.preserveWhiteSpace = true;
return xmlDoc;
}
//从字符串创建XML对象(XML字符串)
function LoadXMLForString(xmlStr)
{
var xmlDoc=CreateXmlDoc();
if(IEOrFire())
{
xmlDoc.loadXML(xmlStr);
}
else
{
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(xmlStr,"text/xml");
}
return xmlDoc
}
////从外部文件创建XML文件(文件路径)
function getXMLForURL(url)
{
var xmlDoc=CreateXmlDoc();
if (IEOrFire())
{
xmlDoc.load(url);
}
else
{
xmlDoc = getXML(url).responseXML;
}
return xmlDoc
}
//获得节点字节点
//getXMLArray("BlogPass.",生成xml字符串);
function getXMLArray(name,xmlStr)
{
var node_xml=null;
var xmlDoc=LoadXMLForString(xmlStr);
var keys = name.split('.');
var node = xmlDoc.documentElement; // 得到根节点
var rtn = new Array();
var n = 0;
for(var i=0; i<keys.length; i++)
{
var childs = node.childNodes; // 得到子节点
var key = keys[i];
for(var k=0; k<childs.length; k++)
{
var child = childs[k];
if(child.nodeName == key)
{
// 判断子节点是否符合
if(i == keys.length-1)
{
rtn[n] = child;
n++;
}
else
{
node = child;
break;
}
}
}
}
node_xml=rtn;
return rtn;
}
//创建ajax技术
function CreateXMLHTTP2()
{
var xmlhttp=null;
if (window.ActiveXObject)
{
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
else if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
return xmlhttp;
}
//通过ajax技术获取xml数据
function getXML(url)
{
var xmlHttp=CreateXMLHTTP2();
if (xmlHttp!=null)
{
xmlHttp.open("GET",url,false);
xmlHttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.11");
return false;
}
return xmlHttp;
}
//生成xmlDoc对象,有内容的而不是空的
function getDocumentRoot(xmlstr)
{
var xmlDoc=LoadXMLForString(xmlstr);
return xmlDoc.documentElement;//得到根节点
}
//获得节点内容
//getNodeValue(xmlDoc,"BlogPass.");
function getNodeValue(xmlDoc,name)
{
return this.getValue(xmlDoc,name);
}
//根据节点获得节点下子节点内容
function getValue(xmLDoc, name)
{
var node = xmLDoc.documentElement; // 得到根节点
var keys = name.split('.');
for(var i=0; i<keys.length; i++)
{
var childs = node.childNodes; // 得到子节点
var key = keys[i];
for(var k=0; k<childs.length; k++)
{
var child = childs[k];
if(child.nodeName == key)
{
// 判断子节点是否符合
if(child.childNodes.length == 1)
{
// 如果没有字节点,返回值
if(!window.ActiveXObject)
{
return childs[k].textContent;
}
else
{
return childs[k].text
}
}
else
{
// 还有子节点,继续分析
node = child;
break;
}
}
}
}
return "";
}
调用方式如下:
function XMLNode(strXML)
{
var strXML="<?xml version=/"1.0/" encoding=/"utf-8/" ?><xmlList><BlogPass>map</BlogPass><Result>ok</Result></xmlList>";
var xmlDoc=LoadXMLForString(strXML);
var pass=getNodeValue(xmlDoc,"BlogPass.");
var result=getNodeValue(xmlDoc,"Result");
}
- js xml封装解析
- js解析xml封装类
- JS中封装解析xml的代码,以及实例应用
- 网络:XML 解析封装
- XML封装与解析
- XML的封装与解析
- JAXBContext实战封装Xml和解析Xml
- JS解析XML
- js解析xml文件
- JS解析XML
- js解析xml文件
- JS解析XML
- js 里面解析xml
- js解析xml文件
- js 解析xml
- js解析xml
- js解析xml
- JS解析XML文件
- Opening nodes in a Flex Tree control using the expandItem() method
- (转)MiniGUI 专栏
- MiniGUI 资源链接
- MFC让文档/视图结构程序支持滚动条
- 一眨眼
- js xml封装解析
- MailServer BL[Blacklist黑名单,包括RBL,CBL...] Check Website
- 真可以抓得住吗
- 探究JVM内存泄露
- 用 ListBox 和 DataBinding 显示列表数据
- tools
- ASP.NET页面刷新方法总结
- Flex:用openItems属性进行Tree控件的展开与关闭
- flex DataGrid编辑单元格并获取新的值