如何从XPath javascript循环中单独设置xml元素的样式?

时间:2011-12-01 16:28:52

标签: javascript xml loops xpath

所以我试图使用xpath(html页面中的javascript)从xml文件中提取所选数据。我唯一的问题是:找到一种方法来单独设置每个值的样式,而不是(目前)只能一次设置整个流的样式。

我假设这只是理解javascript循环的问题,但我将非常感谢您提供的任何快速帮助。感谢。

xml文件基本上是这样的:http://www.w3schools.com/xml/cd_catalog.xml

这是XPath / js代码:

<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

xml=loadXMLDoc("catalog.xml");
path="/catalog/cd[year=1985]/title | /catalog/cd[year=1985]/company | /catalog/cd[year=1985]/country";

// code for IE
if (window.ActiveXObject)
{
var nodes=xml.selectNodes(path);

for (i=0;i<nodes.length;i++)
  {
  document.write("<font color=\"red\">");
  document.write(nodes[i].childNodes[0].nodeValue);
  document.write("</font>");
  document.write("<hr>");
  }
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE,null);
var result=nodes.iterateNext();

while (result)
  {
  document.write("<strong>");
  document.write(result.childNodes[0].nodeValue);
  document.write("</strong>");
  document.write("<br />");
  result=nodes.iterateNext();
  }
}
</script>

0 个答案:

没有答案