我用Google搜索了这个,只能找到有关使用AS3执行此操作的信息 - 我使用的是PHP,jQuery和HTML。这是否可行使用这些技术,如果是这样......怎么样?
答案 0 :(得分:3)
假设您有以下XML文件(songs.xml
)
<songs>
<song>
<name>I left my heart on Europa</name>
<id>1</id>
</song>
<song>
<name>Oh Ganymede</name>
<id>2</id>
</song>
<song>
<name>Kallichore</name>
<id>3</id>
</song>
</songs>
使用以下PHP代码,您可以generate JSON使用仅来自XML文件的数据(我们将其命名为xml.php
):
<?php
// load the XML file
$songs = simplexml_load_file('songs.xml');
// get all song elements as an array
$options = iterator_to_array($songs->song, false);
// output json
echo json_encode($options);
现在你只需要用jQuery做一个ajax请求:
$.getJSON("xml.php",function(j){
var $option = $("#option");
$option.empty();
$.each(j, function () {
$option.append($('<option></option>').attr("value", this.id).text(this.name));
});
});
填充像这样的HTML代码:
<select name="x" id="option"></select>
jquery未经过测试,但如果您已经使用过它,则可以修复任何错误:)
答案 1 :(得分:0)
我不明白为什么不呢?您想要使用XML中的元素填充Dropbox吗?通过下拉框,您可能意味着选择选项HTML元素。当您在php中循环获取元素并设置选项值时,PHP中有许多XML解析器,例如SimpleXML结束。
纯PHP解决方案(与Sacx相同的XML):
<?php
$songs = simplexml_load_file('songs.xml');
echo "<select id='SELsongs'>";
foreach($songs as $song)
{
echo "<option value='".$song->id."'>".$song->name."</option>";
}
echo "</select>";
?>
答案 2 :(得分:0)
你必须导入xml并解析它,这将为你提供一个对象或多维数组,你可以遍历它,从而为下拉列表创建元素。