一直想用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>
联系客服