簡體   English   中英

ActionScript 3中的XML?

[英]XML in Actionscript 3?

我一直在嘗試從看起來像這樣的XML文件中刪除曲目

<?xml version="1.0"?>
<tracklist>
    <track ID="4" title="Track01" artist="Artist01" url="" length="" coverURL=""/>
    <track ID="1" title="Track02" artist="Artist02" url="" length="" coverURL=""/>
    <track ID="8" title="Track03" artist="Artist03" url="" length="" coverURL=""/>
</tracklist>

放入ActionScript 3中的數組。

我不知道。

我這樣嘗試過:

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("http://localhost:8888/Fabse/src/getCommonPlaylist.php"));
myLoader.addEventListener(Event.COMPLETE, processXML);

  function processXML(e:Event):void
  {
    var xml:XML= new XML(e.target.data);
    xml.ignoreWhitespace=true;

    var list:XMLList = XMLList(xml.track);


   }

然后,我嘗試了十億種方法,使數據從列表或“ xml”變量中移出,但僅留下空白痕跡,沒有任何成功。 唯一起作用的是trace(xml.track),它跟蹤所有跟蹤對象。

我究竟做錯了什么?

先感謝您,

馬泰奧

您可以使用foreach遍歷XML對象並將值分配給數組。 對於您的情況,您必須調用xml.tracklist.track [0],xml.tracklist.track [1]等,以獲取相應的軌道。

我認為您做對了。 只要記住您有空的XML節點並且正在使用屬性即可。

默認情況下,我認為toString()使用文本節點值,因此在調試時可能要使用toXMLString()

嘗試這樣的事情:

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("http://localhost:8888/Fabse/src/getCommonPlaylist.php"));
myLoader.addEventListener(Event.COMPLETE, processXML);



     function processXML(e:Event):void
      {
        var xml:XML= new XML(e.target.data);
        xml.ignoreWhitespace=true;

        var tracks:XMLList = xml.track;
        trace("tracks\n",tracks);
        for each(var track:XML in tracks) trace('track',track,'track.toXMLString()',track.toXMLString());


       }

注意每個軌道的跟蹤,如果我只是做track ,盡管節點在那里,但什么都不會顯示,但是當使用track.toXMString()時,會顯示該節點的所有xml內容(而不僅僅是文本內容)。

要獲取單個內容,請嘗試..

trace(xml.elements("track").length()); // 3
trace(xml.elements("track")[0].toXMLString()); // <track ID="4" title="Track01" artist="Artist01" url="" length="" coverURL=""/>
trace(xml.name().localName); // tracklist
trace(xml.attributes()[0]); // 4
trace(xml.attributes()[0].name()); // ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM