私はこれをグーグルで検索しましたが、AS3でこれを行うことに関する情報しか見つけることができません-私はPHP、jQuery、およびHTMLを使用しています. これは、これらのテクノロジーを使用して実現可能ですか?
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 コードを使用すると、XML ファイルからのデータのみを使用してJSONを生成できます (名前を付けましょう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 はテストされていませんが、既に使用している場合は、エラーを修正できます :)
xmlをインポートして解析する必要があります。これにより、ループできるオブジェクトまたは多次元配列が得られ、ドロップダウンの要素が作成されます。
I dont see why not? You want to fill dropbox with elements from XML? By dropdown box you probably mean select option HTML element. There are bunch of XML parsers in PHP like SimpleXML end when you fetch elements just loop in php and set option values.
Pure PHP solution (same XML as Sacx):
<?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>";
?>