js解析xml文件

js解析xml文件代码,不过只能解析标准的xml文件的元素。但是我要解析的xml文件description元素里面含有一大段html代码,而我只想拿到里面的图片url,怎么办呢。由于时间关系,我也没深入研究,直接换了种方式用PHP来解析了。不过想来用js正则匹配也是可行的。

xml文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="gbk"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss">
<channel>
<title>网货交易会照片集</title>
<link>http://www.bababian.com/gppool.sl?groupID=52431F7AE5B45BD4A00B043BE6A0CFF0GP</link>
<description>阿里巴巴网货交易会</description>
<pubDate>Tue, 8 Dec 2009 06:22:54 GMT</pubDate>
<lastBuildDate>2009-12-08 14:22:54.0</lastBuildDate>
<generator>http://www.bababian.com/</generator>
<image>
<url>http://www.bababian.com/iconsysgroup/groupdefault.gif</url>
<title>网货交易会照片集</title>
<link>http://www.bababian.com/gppool.sl?groupID=52431F7AE5B45BD4A00B043BE6A0CFF0GP</link>
</image>
 
<item>
<title>可爱的小弟弟</title>
<link>http://www.bababian.com/picturedetail.sl?viewID=194E492E6996F071F6E29D617B75F8D7UR&amp;pictureID=EBE0D9CD7313EA64D86A5E74476C6B17DT</link>
<description>&lt;p&gt;&lt;a href="http://www.bababian.com/myphoto.sl?viewID=194E492E6996F071F6E29D617B75F8D7UR"&gt;网货交易会&lt;/a&gt;上传了一张照片:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.bababian.com/picturedetail.sl?viewID=194E492E6996F071F6E29D617B75F8D7UR&amp;pictureID=EBE0D9CD7313EA64D86A5E74476C6B17DT" title="可爱的小弟弟"&gt;&lt;img src="http://photo2.bababian.com/upload1/20091207/EBE0D9CD7313EA64D86A5E74476C6B17_240.jpg" style="border:1px solid #ddd;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
<pubDate>Mon, 7 Dec 2009 08:32:52 GMT</pubDate>
<author>网货交易会</author>
<guid isPermaLink="false">bababian:EBE0D9CD7313EA64D86A5E74476C6B17DT</guid>
</item>
</channel>
</rss>

JS代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<body οnlοad="loadXMLDoc('http://www.bababian.com/rss/5/52431F7AE5B45BD4A00B043BE6A0CFF0GP/GBK')">
<div id="photo">
</div>
 
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Mozilla, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5, IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=onResponse;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}
 
function onResponse()
{
if(xmlhttp.readyState!=4) return;
if(xmlhttp.status!=200)
  {
  alert("Problem retrieving XML data");
  return;
  }
 
txt="<table border='1'>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("item");
for (i=0;i<x.length;i++)
  {
  txt=txt + "<tr>";
 
  xx=x[i].getElementsByTagName("description");
    {
    try
      {
      txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
      }
    catch (er)
      {
      txt=txt + "<td> </td>";
      }
    }
  txt=txt + "</tr>";
  }
txt=txt + "</table>";
document.getElementById('photo').innerHTML=txt;
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值