2013-04-26 44 views
0

我目前正在开发一个项目,并且这个想法是一个AJAX网上商店。 我已经创建了一个包含两个产品的XML文件作为示例,并且我尝试使用Javascript在侧面菜单中显示该产品。这是我的XML:XML数据不以Javascript显示

<root> 
<car> 
    <make>BMW</make> 
    <model>1 series</model> 
    <color>white</color> 
    <image>images/0001.jpg</image> 
</car> 
<car> 
    <make>Mercedes-Benz</make> 
    <model>C63</model> 
    <color>white</color> 
    <image>images/0002.jpg</image> 
</car> 
</root> 

这是JavaScript:

$(document).ready(function(){ 
var myXML, myNodes; 
var display = []; 
    myXML = document.all("carsXML").XMLDocument; 

myNodes = myXML.getElementsByTagName("car"); 
for(var i=0;i<myNodes.length;i++) { 
    display[i] = myNodes.item(i).firstChild.nodeValue; 
    $('ul').append('<li>'+display[i]+'</li>') }}); 

,这是HTML:

<html> 
<head> 
    <title>Car World</title> 
    <xml id="carsXML" src="xml/cars.xml"></xml> 
    <script type="text/javascript" src="js/script.js"></script> 
    <script type="text/javascript" src="js/jquery.js"></script> 
    </head> 
    <body> 

    <div id="head"> 
     <h1>Car World</h1> 
    </div> 
    <div id="left"> 
     <ul> 

     </ul> 
    </div> 
    <div id="right"></div> 
</body> 
</html> 

的想法是为每个车的李内使ul 但是没有显示。 ul保持空白。

+0

XML在另一个文件或同一个文件... ?? – 2013-04-26 07:04:42

+0

@PrasathK xml在另一个文件 – user1590687 2013-04-26 07:08:27

+0

那么你应该使用XMLhttp请求 – 2013-04-26 07:12:06

回答

0

PrasathK是对的。

您的代码也是 - 特别是Internet Explorer特定的(document.all)。虽然这可能会或可能不是你的情况,但我的建议是,你改变方向,看看jQuery.parseXML(),这是跨浏览器兼容的东西 - 显然你已经使用jQuery,所以这将使解析和操纵你的与自己解析DOM相比,XML数据更加麻烦。