XML 新增 刪除 更新

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    /**
     * XML
     * @author Willien
     */
    public class Main extends Sprite
    {
        //load xml
        private var _loader:URLLoader = new URLLoader ;
        private var _url:URLRequest = new URLRequest ;
        private var xml:XML ;
        public function Main():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            XML.ignoreWhitespace = true;
            _loader.addEventListener (Event.COMPLETE , onComplete ) ;
            _loader.addEventListener (IOErrorEvent.IO_ERROR , onIOError) ;
            _url.url = "\init.xml" ;
            _loader.load (_url) ;
        }
        //讀取完成
        private function onComplete (event:Event) :void {
            xml = new XML (event.target.data) ;
            trace (xml) ;
            trace ("-------------------------新增節點----------------------") ;
            xml.appendChild ( < fore/>) ;
            xml.appendChild ( < five/>) ;
            xml.fore.@name = "Eric" ;
            trace (xml) ;
            trace ("-------------------------更新屬性------------------------") ;
            xml.fore.@name = "Jam" ;
            trace (xml) ;
            trace ("-------------------------更新節點------------------------") ;
            //節點 five 改名為 six ;
            xml.five.setName ("six") ;
            trace (xml) ;
            trace ("-------------------------刪除節點------------------------") ;
            delete xml.fore ;
            trace (xml) ;
            }
        //讀取錯誤
        private function onIOError (event :IOErrorEvent):void {
            trace ("on IOErrorEvent") ;
            }
    }
}

輸出結果


<test>
  <first URL="img/0001.png"/>
  <second>
    <img URL="img/0011.png"/>
    <img URL="img/0012.png"/>
    <img URL="img/0013.png"/>
  </second>
  <third>
    <data name="Willien" age="26"/>
    <data name="John" age="27"/>
    <data name="Eva" age="24"/>
    <data name="Mary" age="22"/>
  </third>
</test>
-------------------------新增節點----------------------
<test>
  <first URL="img/0001.png"/>
  <second>
    <img URL="img/0011.png"/>
    <img URL="img/0012.png"/>
    <img URL="img/0013.png"/>
  </second>
  <third>
    <data name="Willien" age="26"/>
    <data name="John" age="27"/>
    <data name="Eva" age="24"/>
    <data name="Mary" age="22"/>
  </third>
  <fore name="Eric"/>
  <five/>
</test>
-------------------------更新屬性------------------------
<test>
  <first URL="img/0001.png"/>
  <second>
    <img URL="img/0011.png"/>
    <img URL="img/0012.png"/>
    <img URL="img/0013.png"/>
  </second>
  <third>
    <data name="Willien" age="26"/>
    <data name="John" age="27"/>
    <data name="Eva" age="24"/>
    <data name="Mary" age="22"/>
  </third>
  <fore name="Jam"/>
  <five/>
</test>
-------------------------更新節點------------------------
<test>
  <first URL="img/0001.png"/>
  <second>
    <img URL="img/0011.png"/>
    <img URL="img/0012.png"/>
    <img URL="img/0013.png"/>
  </second>
  <third>
    <data name="Willien" age="26"/>
    <data name="John" age="27"/>
    <data name="Eva" age="24"/>
    <data name="Mary" age="22"/>
  </third>
  <fore name="Jam"/>
  <six/>
</test>
-------------------------刪除節點------------------------
<test>
  <first URL="img/0001.png"/>
  <second>
    <img URL="img/0011.png"/>
    <img URL="img/0012.png"/>
    <img URL="img/0013.png"/>
  </second>
  <third>
    <data name="Willien" age="26"/>
    <data name="John" age="27"/>
    <data name="Eva" age="24"/>
    <data name="Mary" age="22"/>
  </third>
  <six/>
</test>

沒有留言:

張貼留言