Php 从xml文件中仅获取两个值的下拉列表
我试图使用Ajax将数据添加到名为combo_assembly的组合框中 功能是: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
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>