JS- 操作 XML(兼容IE/FF/Chrome,Safari)

今天同事有需要JS显示XML!
后来就做了一个效果!或许以后能用的着呢! ^_^
JS读取并输出xml文件节点及属性(兼容IE,FF) !
好东东发出来分享一下了!
代码如下:
Html代码 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS读取XML兼容IE/FF/Chrome,Safari</title>
<style>
li{list-style:none;}
</style>
<script type="text/javascript">
//==============================================================
var orderDoc;
//获取xml文件
function loadXmlFile(xmlFile){
var xmlDom = null;
if (window.ActiveXObject){
xmlDom = new ActiveXObject("Microsoft.XMLDOM");
xmlDom.async=false;
xmlDom.load(xmlFile)||xmlDom.loadXML(xmlFile);//如果用的是XML字符串//如果用的是xml文件
}else if (document.implementation && document.implementation.createDocument){
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET", xmlFile, false);
xmlhttp.send(null);
xmlDom = xmlhttp.responseXML;
}else{
xmlDom = null;
}
return xmlDom;
}
//判断子节点为不为空
function isnull(obj)
{
var nodevalue = "";
if(obj.childNodes[0] != null)
{
nodevalue =obj.childNodes[0].nodeValue;
}
return nodevalue;
}
var stringsss="";
//根据编号获取数据
function getDataByid(number)
{
var time =isnull(orderDoc.getElementsByTagName("time")[number]);
var place =isnull(orderDoc.getElementsByTagName("place")[number]);
var reason =isnull(orderDoc.getElementsByTagName("reason")[number]);
var unit = isnull(orderDoc.getElementsByTagName("unit")[number]);
var money =isnull(orderDoc.getElementsByTagName("money")[number]);
var status =isnull(orderDoc.getElementsByTagName("status")[number]);
var docNum =isnull(orderDoc.getElementsByTagName("docNum")[number]);
var score =isnull(orderDoc.getElementsByTagName("score")[number]);
var std='<li><b>网址:'+(time)+'<br />站名称:'+(place)+'<br />描述:'+(reason)+'</b></li>';
return std;
}

//获得页面内容
function getContent(){
//exBrows();
orderDoc=loadXmlFile("http://www.ok22.org/download/ex2.xml");
var items=orderDoc.getElementsByTagName("results").length;
//alert(orderDoc.getElementsByTagName("Item").length);
var htmlstr="";
stringsss+='<ul>';
for(i=0;i<items;i++){
stringsss+=getDataByid(i);
}
stringsss+='</ul>'
document.write(stringsss);
}
</script>

</head>

<body>
</body>
<script type="text/javascript" language="javascript">
getContent();
</script>
</html>


因为XML有可能为空所以添加了一个判断节点是否为空!
Js代码 

//判断子节点为不为空
function isnull(obj)
{
var nodevalue = "";
if(obj.childNodes[0] != null)
{
nodevalue =obj.childNodes[0].nodeValue;
}
return nodevalue;
}



转自:http://www.ok22.org/art_detail.aspx?id=137
<html><head> <title>Dplayer记忆播放功能</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=11"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" id="viewport" name="viewport"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css"> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery.min.js/jquery.min.js"></script> <style type="text/css">html,body{height:100%;margin:0;padding:0;overflow:hidden;text-align:center;background:#181818}#player{height:100%;z-index: 9999999999;}.dplayer-logo{max-width: 150px;right: 2px;top: 2px;}@media (max-width: 768px){.dplayer-logo{max-width: 120px;right: 2px;top: 2px;}} .tbox{display: block;padding: 10px;height:50%;overflow: auto;} .tbox p{font-family: 'Microsoft YaHei', '微软雅黑', 'Arial', sans-serif;color:#FFF;font-size:14px;padding: 0 5px 15px 5px;text-align:left} </style> </head> <body> <div id="player"></div> <script type="text/javascript"> //视频URL var vid = "<?PHP echo $_GET['url'];?>"; var dp = new DPlayer({ container: document.getElementById('player'), autoplay: true,//自动播放 live: false,//直播模式 loop: false,//循环播放 screenshot: true,//开启截图 theme: '#FF9900',//主题配色 preload: 'auto',//视频预加载 hotkey: true,//热键控制 airplay: false,//在 Safari 中开启 AirPlay volume: 0.7,//默认音量 logo: 'js/logo.png',//logo图片 lang: 'zh-cn',//语言 mutex: true,//播放器互斥 video: { url: vid,//视频地址 //type: 'auto',//视频类型 pic: 'js/video.jpg',//视频封面 thumbnails: '',//缩列图 }, }); </script></body></html> 给这段代码添加一个画中画按钮
最新发布
03-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值