从产品的xml文件中读取特定产品

时间:2012-06-05 05:24:48

标签: javascript html xml

我有一个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<products>
    <product>
        <id>246</id>
        <code>Ash07-001</code>
        <image>C:\BowlPhotos\Thumbs\Ash07-001tmb.jpg</image>
    </product>
    <product>
        <id>247</id>
        <code>Ash07-004</code>
        <image>C:\BowlPhotos\Thumbs\NoBowltmb.jpg</image>
    </product>
    <product>
        <id>248</id>
        <code>Ash07-005</code>
        <image>C:\BowlPhotos\Thumbs\Ash07-005tmb.jpg</image>
    </product>
</products>

用这段代码阅读:

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
{ 
          document.write("<tr><td>");
          document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
          document.write("</td><td>");
          document.write(x[i].getElementsByTagName("code")[0].childNodes[0].nodeValue);
          document.write("</td><td>");
          document.write(x[i].getElementsByTagName("image")[0].childNodes[0].nodeValue);
          document.write("</td></tr>");
}
document.write("</table>");

这样可以获取所有文件。

如果我只想要ID为247的产品怎么办?如何将整个产品拉出来并打印出来?

2 个答案:

答案 0 :(得分:1)

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
  { 
          if(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue != 247) continue;
          document.write("<tr><td>");
          document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
          document.write("</td><td>");
          document.write(x[i].getElementsByTagName("code")[0].childNodes[0].nodeValue);
          document.write("</td><td>");
          document.write(x[i].getElementsByTagName("image")[0].childNodes[0].nodeValue);
          document.write("</td></tr>");
  }
document.write("</table>");

您可以编写这样的代码。如果id不是247

,它将不会执行用于显示内容的代码

答案 1 :(得分:0)

var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
{ 
  var id= x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
  if id="247"
   {
       // print what ever u want
   }
}