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

Reading a specific product from an xml file of products

本文关键字:读取 xml 文件      更新时间:2023-09-26

我有一个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 的产品怎么办?如何拉出整个产品并打印出该产品?

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,它将不会执行用于显示内容的代码

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
   }
}