使用JavaScript在XML文件之间切换

时间:2013-02-28 22:34:01

标签: php javascript html xml xmlhttprequest

我正在使用XML文件作为我的html页面的布局,并使用javascript加载它们 像这样:

if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET","default.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

如何在2个或更多布局之间切换?

我正在使用javascript / xml将xml加载到html中,如下所示:

document.write('<ul id="horizontal-list">');
var x=xmlDoc.getElementsByTagName("APP");
for (i=0;i<x.length;i++)
  { 
  document.write('<li><a class="app_link" href="depiction.php?app=');
  document.write(x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
  document.write('&dl=');
  document.write(x[i].getElementsByTagName("DOWNLOAD")[0].childNodes[0].nodeValue);
  document.write('&install=');
  document.write(x[i].getElementsByTagName("INSTALL")[0].childNodes[0].nodeValue);
  document.write('">');
  document.write('<label class="app_label">');
  document.write(x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
  document.write('</label><img class="applicationIcon" src="');
    document.write(x[i].getElementsByTagName("ICON")[0].childNodes[0].nodeValue);
  document.write('"/></a></li>');
  }
document.write('</ul>');

注意:我也在使用css样式表。

1 个答案:

答案 0 :(得分:1)

使ajax成为类似下面的函数,并使用xml文件的路径调用该函数:

function getXml($file){
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET",$file,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
}

你也可以发送你的css文件(在函数中添加第二个参数并使用jquery append函数附加样式表)