<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
<!--
var root;
var request;
function read()
{try {
request = new XMLHttpRequest();
}
catch(e){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("get","test.xml",false);
request.onreadystatechange=result;
request.send()}
function result(){
if (request.readyState == 4) { 
if (request.status == 200) { 
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc=request.responseText;
 root = xmlDoc.getElementsByTagName("channel")[0];
 items=root.getElementsByTagName("item");
alert("返回的信息为:"+root)
}}
}
//-->
</script>
</head>
<body>
<input id="name" name="name" type="button" Value="测试" onclick="return read();">
</body>
</html>test.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" title="XSL Formatting" href="/show_new_final.xsl" media="all"?>
<rss version="2.0">
<channel>
<item>
<title><![CDATA[福建用装甲车护送甲骨文等54件国宝(图)]]></title>
<link>http://news.sina.com.cn/c/2007-09-11/001512543845s.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://news.sina.com.cn/c/2007-09-11/001512543845s.shtml</guid>
<category><![CDATA[国内焦点新闻]]></category>
<pubDate>Tue, 11 Sep 2007 04:50:46 GMT</pubDate>
<comments></comments>
<description><![CDATA[]]></description>
</item>
</channel>
</rss>
我想通过JS获取这个xml里面的item title category description link.应该怎么写..各位帮帮我..

解决方案 »

  1.   

    function result(){
    if (request.readyState == 4) { 
    if (request.status == 200) { 
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc=request.responseText;////改成这个样子试试 xmlDoc.load(request.responseText);
     root = xmlDoc.getElementsByTagName("channel")[0];
     items=root.getElementsByTagName("item");
    alert("返回的信息为:"+root)
    }}
    }
      

  2.   

    或者xmlDoc.loadXML(request.responseText);O.o
      

  3.   

    你應該是想用ajax讀取數據吧:var objTitle = request.responseXML.getElementsByTagName("title");
    var objCategory  = request.responseXML.getElementsByTagName("category ");
    var objDesc = request.responseXML.getElementsByTagName("description ");
    var objLink = request.responseXML.getElementsByTagName("link");if(objTitle != null && objTitle[0].text.length > 0)
       var Title= objTitle[0].text;
    if(objCategory!= null && objCategory[0].text.length > 0)
       var category = objCategory[0].text;
    if(objDesc!= null && objDesc[0].text.length > 0)
       var description = objDesc[0].text;
    if(objLink!= null && objLink[0].text.length > 0)
       var link= objLink[0].text;
      

  4.   

    其實不用ajax也行:
        function getData()
        {
            var arrNode = new Array();
            var oXml = new ActiveXObject("Msxml2.DOMDocument");   
            oXml.async = false;  
            oXml.load("XML相對路徑"); 
            var row = oXml.getElementsByTagName("item");
            for(var i = 0 ;i<row.length;i++)
            {
                arrNode[arrNode.length] = row[i].selectSingleNode("title").text+";";
                arrNode[arrNode.length] += row[i].selectSingleNode("category ").text+";";
                arrNode[arrNode.length] += row[i].selectSingleNode("description ").text+";";
                arrNode[arrNode.length] += row[i].selectSingleNode("link").text+";";
            }
            return arrNode;//返回一個數組
        }
      

  5.   

    stephenlll(Stephen) 兄弟 .text 在 FIREFOX 下不好用吧  
    有谁知道么  发完贴了才看见这有个和我遇到一样问题的 ...
      

  6.   

    wonsea123() ( ) 信誉:100 innerHTML
      

  7.   

    hejunbin(何俊斌) innerHTML 不行
    我找了下 IE下的好说  FF下是nodeValue
      

  8.   

    var GetNodeValue = function(obj)
    {
    var str = "";
    if(window.ActiveXObject)    //IE
    {
    str = obj.text;
    }
    else //Mozilla
    {
    try
    {
    str = obj.childNodes[0].nodeValue;
    }
    catch(ex)
    {
    str = "";
    }
    }
    return str;
    }
      

  9.   

    看我写的一个小例子,就知道怎么用js读取xml文件的内容了。
    我的xml文件(123.xml)是:
    <?xml version="1.0" encoding="GBK"?>
    <cart>
    <student id="12">
    <name >huang'wei</name>
    </student>
    <student id="2">
    <name >hw</name>
    </student>
    </cart>jsp代码如下:
    <html>
    <head>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>title2011-3-19</title>
    <script type="text/javascript" src="js/read_xml.js"></script>
    <script type="text/javascript">
    function abc(){
    var xmlDom = loadXmlFile("123.xml");
    var cart=xmlDom.getElementsByTagName("student");
    //objDocRoot = xmlDom.documentElement;
    var id=cart[0].getAttribute("id");
    //alert(id);
    var oName = cart[0].getElementsByTagName("name");
    document.getElementById("o").innerHTML = oName[0].firstChild.nodeValue;
    var name=oName[0].firstChild.nodeValue;
    //alert("姓名:"+name);
    }
    </script>
    <style type="text/css">
    .a{
    background-color: green;
    width: 200pt;
    height: 20pt;
    }
    </style>
    </head>
    <body><center>
    <input type="button" value="submit" onclick="abc()">  
    <div id="o" class="a"></div>
    </center>
    </body>
    </html>