XML / AJAX - 获取特定子元素的值

时间:2013-08-30 11:57:49

标签: javascript xml ajax

我遇到了ajax和xml的问题。我有一个xml文件,它涵盖了几个按钮的状态。所以现在在我的网页上我想知道每个按钮的实际状态。这是xml文件:

<?xml version="1.0" encoding="utf-8"?>
<btn_status>
    <btn1>
        <titel>Button 1</titel>
        <status>inactive</status>
    </btn1>

    <btn2>
        <titel>Button 2</titel>
        <status>active</status>
    </btn2>

</btn_status>

我的ajax脚本看起来像这样。

document.write("<p>Status der Buttons</p>");
document.write("<table border='1'>");
var xmlContent=xmlDoc.getElementsByTagName("btn1");
for (i=0;i<xmlContent.length;i++)
  {
  document.write("<tr><td>");
  document.write(xmlContent[i].getElementsByTagName("titel")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(xmlContent[i].getElementsByTagName("status")[0].childNodes[0].nodeValue );
    if(btnStatus1=xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue == 'active'){
      document.write("<img src='Normal.png' />");
    }
      else  // ie5/6
  {
      document.write("<img src='error.png' />");
  }
    document.write("</td></tr>");
  }

现在的问题是,if / else只涵盖btn1的状态而不是其他的,现在我不知道如何质疑btn2及其后的状态。

之类的东西
btnStatus2=btn2.status...

任何人都有了主意:/

1 个答案:

答案 0 :(得分:0)

sry自己解决了这个问题,只需要计算孩子的元素......

if(btnStatus2=xmlDoc.getElementsByTagName("status")[1].childNodes[0].nodeValue == 'active'){
      document.write("<img src='Normal.png' />");
    }
      else  // ie5/6
  {
      document.write("<img src='error.png' />");
  }
    document.write("</td></tr>");
  }

和第三个条目:

var xmlContent=xmlDoc.getElementsByTagName("btn3");
for (i=0;i<xmlContent.length;i++)
  {
  document.write("<tr><td>");
  document.write(xmlContent[i].getElementsByTagName("titel")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(xmlContent[i].getElementsByTagName("status")[0].childNodes[0].nodeValue );
    if(btnStatus3=xmlDoc.getElementsByTagName("status")[2].childNodes[0].nodeValue == 'active'){
      document.write("<img src='Normal.png' />");
    }
      else  // ie5/6
  {
      document.write("<img src='error.png' />");
  }
    document.write("</td></tr>");
  }