打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用javascript解析xml

一直想用js解析xml,但是由于时间与技术,总是没有解决,后来ajax出来了,我知道ajax的原理,知道js支持多浏览器解析xml的方法肯定很成熟,可是我总没有找到相应的语句。这两天制作这个技术点,终于解决了这一难题,写下来备用!

下面是xml文件:

<?xmlversion="1.0" encoding="utf-8"?>  <Articles>   <Article>      <Title><![CDATA[[站务公告]“大话英语”专栏开放!100本《都是英语惹的火》赠词友]]></Title>     <PostTime><![CDATA[2006-03-1515:34:20]]></PostTime>      <Id>27962</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/15/27962_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[大话英语]第一期:100本《都是英语惹的火》赠词友!]]></Title>     <PostTime><![CDATA[2006-03-1517:22:27]]></PostTime>      <Id>27985</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/17/27985_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[学习方法] 学习单词,从人自身开始]]></Title>     <PostTime><![CDATA[2006-03-1520:26:51]]></PostTime>      <Id>28067</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/20/28067_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[图文集锦] 天天读图(3.15)]]></Title>     <PostTime><![CDATA[2006-03-1518:09:00]]></PostTime>      <Id>27998</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/18/27998_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[中学英语] Jicama,凉薯]]></Title>     <PostTime><![CDATA[2006-03-1608:56:22]]></PostTime>      <Id>28135</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0316/08/28135_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[每日一句] Easy come, easy go.( 3.15)]]></Title>      <PostTime><![CDATA[2006-03-1500:40:00]]></PostTime>      <Id>27822</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/00/27822_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[每日一歌] If you come tome]]></Title>      <PostTime><![CDATA[2006-03-1512:54:50]]></PostTime>      <Id>27922</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/12/27922_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[资料专区] 常见的电子行业缩略语]]></Title>     <PostTime><![CDATA[2006-03-1522:12:44]]></PostTime>      <Id>28099</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/22/28099_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[资料专区] 清代官职(中英对照)]]></Title>     <PostTime><![CDATA[2006-03-1517:56:02]]></PostTime>      <Id>27996</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/17/27996_1.htm]]></Url>   </Article>    <Article>     <Title><![CDATA[[资料专区] 常见价格和费用(中英对照)]]></Title>     <PostTime><![CDATA[2006-03-1517:40:00]]></PostTime>      <Id>27990</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/17/27990_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[阅读]dancing with the moonlitknight(与月光骑士共舞)……genesis]]></Title>     <PostTime><![CDATA[2006-03-1511:42:44]]></PostTime>      <Id>27901</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0315/11/27901_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[音频]CRI国际在线之《We‘re The World》Michael Jackson]]></Title>     <PostTime><![CDATA[2006-03-1013:47:47]]></PostTime>      <Id>26692</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0310/13/26692_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[音频]CRI国际在线之《Welcome to My Life》Simple Plan]]></Title>     <PostTime><![CDATA[2006-02-1514:30:17]]></PostTime>      <Id>20709</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0215/14/20709_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[音频]CRI国际在线之《A Song for Mama》Boyz II Men]]></Title>     <PostTime><![CDATA[2006-03-1013:37:58]]></PostTime>      <Id>26688</Id>     <Url><![CDATA[http://sohotx.com/html/2006/0310/13/26688_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[音频]CRI国际在线之《Here I Am》Bryan Adams]]></Title>     <PostTime><![CDATA[2005-11-2423:06:11]]></PostTime>      <Id>3114</Id>     <Url><![CDATA[http://sohotx.com/html/2005/1124/23/3114_1.htm]]></Url>   </Article>    <Article>      <Title><![CDATA[[音频]CRI国际在线之《Accidentally in Love》Counting Crows]]></Title>     <PostTime><![CDATA[2005-11-2423:49:53]]></PostTime>      <Id>3119</Id>     <Url><![CDATA[http://sohotx.com/html/2005/1124/23/3119_1.htm]]></Url>   </Article>  </Articles>

将xml文件放为: http://www.sohotx.com/test/aaa.xml

下面是包含js的html文件内容:

<script language="javascript">
var xmlurl;
xmlurl = "http://www.sohotx.com/test/aaa.xml";
</script>

<table width="450" border="1" cellspacing="0" cellpadding="6">
  <tr>
    <td colspan="2"><span id="photo"></span></td>
  </tr>
  <tr>
    <td width="94">昵称</td>
    <td width="326"><span id="nickname"></span></td>
  </tr>
  <tr>
    <td>passport</td>
    <td><span id="passport"></span></td>
  </tr>
  <tr>
    <td>EMAIL</td>
    <td><span id="email"></span></td>
  </tr>
  <tr>
    <td>个人签名</td>
    <td><span id="sign"></span></td>
  </tr>
</table>

<div id="24hot"></div>
<script language=javascript>
var http = createRequestObject();

function createRequestObject() {
 // find the correct xmlHTTP, works with IE, FF and Opera
 var xmlhttp;
 try {
    xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  usewin = "msxml";
 }
 catch(e) {
  try {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   usewin = "microsoft";
  }
  catch(e) {
      xmlhttp=null;
  }
 }

 if(!xmlhttp&&typeof XMLHttpRequest!="undefined") {
  
    xmlhttp=new XMLHttpRequest();
  usewin = "undefined";
 }
 return  xmlhttp;
}


function sendRequest() {

 try{
  http.open("GET", xmlurl, true);
  http.setRequestHeader(‘Content-Type‘,  "text/xml");
  http.onreadystatechange = handleResponse;
  http.send(null);
 }
 catch(e){
  // caught an error
  alert(‘Request send failed.‘);
 }
 finally{}

}


function handleResponse() {
 try{
  if((http.readyState == 4)&&(http.status == 200)){
   
   var response = http.responseXML.documentElement;
   var node;
   node = response.getElementsByTagName(‘Article‘);    
   var s="";
   for(var i=0;i<node.length;i++){     
       s += node.item(i).getElementsByTagName(‘Title‘).item(0).firstChild.nodeValue + ":";
       s += node.item(i).getElementsByTagName(‘Id‘).item(0).firstChild.nodeValue+ "<br>";
   }
   document.getElementById("24hot").innerHTML = s;
  }
 }catch(e){
  alert(‘Response failed.‘);
 }
 finally{}
}

 

sendRequest(); 
//document.wirte(bb);
</script>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
AJAX and JSP Primer
java视线论坛 :: 阅读主题 - ajax三言两语
ajax
AJAX简单应用之校验用户名是否已注册
readyState的五种状态_笑笑
Ajax
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服