一直想用js解析xml,但是由于時(shí)間與技術(shù),總是沒有解決,后來ajax出來了,我知道ajax的原理,知道js支持多瀏覽器解析xml的方法肯定很成熟,可是我總沒有找到相應(yīng)的語(yǔ)句。這兩天制作這個(gè)技術(shù)點(diǎn),終于解決了這一難題,寫下來備用!
下面是xml文件:
<?xmlversion="1.0" encoding="utf-8"?> <Articles> <Article> <Title><![CDATA[[站務(wù)公告]“大話英語(yǔ)”專欄開放!100本《都是英語(yǔ)惹的火》贈(zèng)詞友]]></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[[大話英語(yǔ)]第一期:100本《都是英語(yǔ)惹的火》贈(zèng)詞友!]]></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[[學(xué)習(xí)方法] 學(xué)習(xí)單詞,從人自身開始]]></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[[中學(xué)英語(yǔ)] 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[[資料專區(qū)] 常見的電子行業(yè)縮略語(yǔ)]]></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[[資料專區(qū)] 清代官職(中英對(duì)照)]]></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[[資料專區(qū)] 常見價(jià)格和費(fèi)用(中英對(duì)照)]]></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國(guó)際在線之《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國(guó)際在線之《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國(guó)際在線之《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國(guó)際在線之《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國(guó)際在線之《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文件內(nèi)容:
<script language="javascript">
var xmlurl;
xmlurl = "</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>個(gè)人簽名</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>
聯(lián)系客服