Javascript 我试图获取外部xml数据并将其显示在html页面中

Javascript 我试图获取外部xml数据并将其显示在html页面中,javascript,xml,ajax,Javascript,Xml,Ajax,我试图获取这个示例中的任何xml标记。但是如果我试图抓取IE中第一条记录中的数据以外的任何东西,我都做不到。我可以编写什么样的javascript来纠正这个问题 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Get Any XML Tag</title> <script type='text

我试图获取这个示例中的任何xml标记。但是如果我试图抓取IE中第一条记录中的数据以外的任何东西,我都做不到。我可以编写什么样的javascript来纠正这个问题

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Get Any XML Tag</title>
<script type='text/javascript' src='http://imaginationeverywhere.info/jslib//dev/jquery-1.5.1.js'>
</script>
<script type="text/ecmascript">
    function getData() {
        var XMLHTTPRequestObject = false;

        if (window.XMLHTTPRequest) {
            XMLHTTPRequestObject = new XMLHttpRequest();

        } else if (window.ActiveXObject) {
            XMLHTTPRequestObject = new ActiveXObject('Microsoft.XMLHTTP');
        }

        if (XMLHTTPRequestObject) {
            XMLHTTPRequestObject.open('GET', 'http://imaginationeverywhere.info/xml/cd_catalog.xml', true);

            XMLHTTPRequestObject.onreadystatechange = function () {
                if (XMLHTTPRequestObject.readyState == 4 && XMLHTTPRequestObject.status == 200) {
                    var xmlDocument = XMLHTTPRequestObject.responseXML;
                    displayArtist(xmlDocument);
                }
            }
            XMLHTTPRequestObject.send(null);
        }
    }

    function displayArtist(xmldoc) {
        titleName = xmldoc.getElementsByTagName('TITLE');
        artistName = xmldoc.getElementsByTagName('ARTIST');
        countryName = xmldoc.getElementsByTagName('COUNTRY');
        companyName = xmldoc.getElementsByTagName('COMPANY');
        priceName = xmldoc.getElementsByTagName('PRICE');
        yearName = xmldoc.getElementsByTagName('YEAR'); 

        displayTitle = "The name of this song title is " + titleName[0].firstChild.nodeValue + ".";      
        displayArtist = "The name of the artist is " + artistName[0].firstChild.nodeValue + "."; 
        displayCountry = "The name of the artist country is " + countryName[0].firstChild.nodeValue + "."; 
        displayCompany = "The name of the artist company is " + companyName[0].firstChild.nodeValue + "."; 
        displayPrice = "This song costs $" + priceName[0].firstChild.nodeValue + "."; 
        displayYear= "The year this song was released " + yearName[0].firstChild.nodeValue + ".";

        var target = document.getElementById('targetDiv');
        target.innerHTML = displayTitle + "<br/>" + displayArtist + "<br/>" + displayCountry + "<br/>" + displayCompany + "<br/>" + displayPrice + "<br/>" + displayYear;
    }
</script>
</head>
<body>
<h3>Get Tag Value</h3>

<form action="#">
    <input type="button" value='Get the name of the artist' onclick="getData()" />
</form>
<div id="targetDiv" style="width:300px; height:20px">

</div>
</body>
</html>

获取任何XML标记
函数getData(){
var XMLHTTPRequestObject=false;
if(window.XMLHTTPRequest){
XMLHTTPRequestObject=新的XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHTTPRequestObject=新的ActiveXObject('Microsoft.XMLHTTP');
}
if(XMLHTTPRequestObject){
XMLHTTPRequestObject.open('GET','http://imaginationeverywhere.info/xml/cd_catalog.xml",对),;
XMLHTTPRequestObject.onreadystatechange=函数(){
if(XMLHTTPRequestObject.readyState==4&&XMLHTTPRequestObject.status==200){
var xmlDocument=XMLHTTPRequestObject.responseXML;
显示艺术家(XML文档);
}
}
XMLHTTPRequestObject.send(null);
}
}
函数DisplayArtister(xmldoc){
titleName=xmldoc.getElementsByTagName('TITLE');
artistName=xmldoc.getElementsByTagName(“艺术家”);
countryName=xmldoc.getElementsByTagName('COUNTRY');
companyName=xmldoc.getElementsByTagName(“公司”);
priceName=xmldoc.getElementsByTagName(“价格”);
Deargename=xmldoc.getElementsByTagName(“年”);
displayTitle=“此歌曲标题的名称为“+titleName[0].firstChild.nodeValue+”;
displayArtist=“艺术家的名称为“+artistName[0].firstChild.nodeValue+”;
displayCountry=“艺术家所在国家的名称为“+countryName[0].firstChild.nodeValue+”;
displayCompany=“艺术家公司的名称为“+companyName[0].firstChild.nodeValue+”;
displayPrice=“这首歌的价格为$”+priceName[0]。firstChild.nodeValue+”;
displayYear=“这首歌发布的年份”+earquame[0].firstChild.nodeValue+”;
var target=document.getElementById('targetDiv');
target.innerHTML=displayTitle+“
”+displayArtist+“
”+displayCountry+“
”+displayCompany+“
”+displayPrice+“
”+displayYear; } 获取标记值
我建议使用-它几乎与所有浏览器兼容

试试这个:

 function getData() {
    $.ajax({
        url: 'ajax/test.html',
        dataType : 'xml',
        success: function(data) {
            displayArtist(data);
    });
}

我现在并不担心跨浏览器的兼容性,我只是想在IE中检索数据。