Php 从xml文件中仅获取两个值的下拉列表

Php 从xml文件中仅获取两个值的下拉列表,php,javascript,xml,ajax,Php,Javascript,Xml,Ajax,我试图使用Ajax将数据添加到名为combo_assembly的组合框中 功能是: function populate_combo_assembly(xmlindata) { var xmldata = xmlindata.getElementsByTagName('Assemblies'); if(xmldata.length <= 0) { alert("Data Unavailable"); return; } window.docum

我试图使用Ajax将数据添加到名为combo_assembly的组合框中

功能是:

function populate_combo_assembly(xmlindata) {
var xmldata = xmlindata.getElementsByTagName('Assemblies');
    if(xmldata.length <= 0) {
    alert("Data Unavailable");
        return;
    }
    window.document.getElementById('combo_assembly').options.length = 0;
    var firstOption = new Option('--Please select--', '', false, false);
    window.document.getElementById('combo_assembly').options.add(firstOption);
    for(var i =0; i <= xmldata.length; i++) {
        var typename = '';
        var x,y;
        x = xmlindata.getElementsByTagName('name')[i];
        y = x.childNodes[0];
        typename = y.nodeValue;
        var newOption = new Option(typename, typename, false, false);
        window.document.getElementById('combo_assembly').options.add(newOption);

    }

    window.document.getElementById('combo_assembly').disabled = false;  
}
函数填充组合程序集(xmlindata){
var xmldata=xmlindata.getElementsByTagName(“程序集”);
if(xmldata.length)
问题是这个xml文件从数据库表中获取了所有的内容I,但是函数只从xml代码中获取了前两个值。 xml文件的输出

<Assemblies>
<Assembly>
<name>total</name>
<id>A00000</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>asd</name>
<id>A00001</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>ga</name>
<id>ga</id>
<category>Suspension</category>
</Assembly>
<Assembly>
<name>65</name>
<id>r00</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>yty</name>
<id>tyt</id>
<category>Suspension</category>
</Assembly>
<Assembly>
<name>Gaurav</name>
<id>Z0012</id>
<category>Brake</category>
</Assembly>
</Assemblies>

全部的
A00000
刹车
自闭症
A00001
刹车
ga
ga
暂停
65
r00
刹车
yty
泰特
暂停
高拉夫
Z0012
刹车

提前感谢您的帮助。

您正在以以下方式检索xmldata:

var xmldata=xmlindata.getElementsByTagName('Assemblies');

难道不是吗

var xmldata=xmlindata.getElementsByTagName('Assembly');


因为信息不包含在包装器元素中。

您可以发布第二页的结果XML吗?我已经用您想要的XML结果编辑了我的问题。据我所知..我想我应该把主标记放在那里,而不是子标记..对吗?.assembly是整个XML的主标记,assembly是另一个标记coming在Assemblies内tagOh是的,您已经在for循环中获得了childnode(如果您通过请求“Assembly”而不是“Assemblies”来获得xmldata,那么这应该是不必要的).哦…谢谢你..我会研究的..但这并不能解决我上面发布的问题,对吗?顺便说一句,你可能想看看.它使浏览XML结构更具可读性。
<Assemblies>
<Assembly>
<name>total</name>
<id>A00000</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>asd</name>
<id>A00001</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>ga</name>
<id>ga</id>
<category>Suspension</category>
</Assembly>
<Assembly>
<name>65</name>
<id>r00</id>
<category>Brake</category>
</Assembly>
<Assembly>
<name>yty</name>
<id>tyt</id>
<category>Suspension</category>
</Assembly>
<Assembly>
<name>Gaurav</name>
<id>Z0012</id>
<category>Brake</category>
</Assembly>
</Assemblies>