【问题标题】:How to add, edit, delete and save xml node in as3as3中如何添加、编辑、删除和保存xml节点
【发布时间】:2015-12-25 07:14:30
【问题描述】:

我的xml文件是这样的,

<GALLERY COLUMNS="3" XPOSITION="30" YPOSITION="30" WIDTH="150" HEIGHT="150">
<IMAGE FULL="Tinku.png" Title="Tinku" THUMB="thumbs/thumb1.jpg" Path="file:///storage/emulated/0/Raconteur/Tinku" />
<IMAGE FULL="Kaal.png" Title="Kaal" THUMB="thumbs/thumb2.jpg" Path="file:///storage/emulated/0/Raconteur/Kaal" />
<IMAGE FULL="Painters.png" Title="Little Painters" THUMB="thumbs/thumb3.jpg" Path="file:///storage/emulated/0/Raconteur/Painters" />
</GALLERY>

如何添加新节点,如下所示,

<IMAGE FULL="Lost.png" Title="Lost and Found" THUMB="thumbs/thumb4.jpg" Path="file:///storage/emulated/0/Raconteur/Lost" />

我也想知道如何删除特定节点

var myXMLLoader:URLLoader = new URLLoader();
            myXMLLoader.load(new URLRequest("gallery.xml"));
            myXMLLoader.addEventListener(Event.COMPLETE, processXML);

        function processXML(e:Event):void {
            myXML = new XML(e.target.data);
            images = myXML.IMAGE;
            total = images.length();
            myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
            myXMLLoader = null;             
            var imageName:String = images[i].@FULL;
            loader = new Loader();
            loader.load(new URLRequest("images/" + imageName));
        }

add_bt.addEventListener(MouseEvent.CLICK, addnode);
private function addnode(e:MouseEvent):void
        {
            var new_node:XML = <IMAGE FULL="Lost.png" Title="Lost and Found" THUMB="thumbs/thumb4.jpg" Path="file:///storage/emulated/0/Raconteur/Lost" />
            myXML.appendChild(new_node);
            trace(myXML);
        }

提前致谢

【问题讨论】:

    标签: xml actionscript-3 air


    【解决方案1】:

    要将 XML 节点添加到您的 XML 对象,您可以像这样使用 XML.appendChild()

    var xml:XML = 
    <GALLERY COLUMNS="3" XPOSITION="30" YPOSITION="30" WIDTH="150" HEIGHT="150">
        <IMAGE FULL="Tinku.png" Title="Tinku" THUMB="thumbs/thumb1.jpg" Path="file:///storage/emulated/0/Raconteur/Tinku" />
        <IMAGE FULL="Kaal.png" Title="Kaal" THUMB="thumbs/thumb2.jpg" Path="file:///storage/emulated/0/Raconteur/Kaal" />
        <IMAGE FULL="Painters.png" Title="Little Painters" THUMB="thumbs/thumb3.jpg" Path="file:///storage/emulated/0/Raconteur/Painters" />
    </GALLERY>;
    
    var new_node:XML = <IMAGE FULL="Lost.png" Title="Lost and Found" THUMB="thumbs/thumb4.jpg" Path="file:///storage/emulated/0/Raconteur/Lost" />
    xml.appendChild(new_node);
    
    trace(xml);
    

    给:

    <GALLERY COLUMNS="3" XPOSITION="30" YPOSITION="30" WIDTH="150" HEIGHT="150">
        <IMAGE FULL="Tinku.png" Title="Tinku" THUMB="thumbs/thumb1.jpg" Path="file:///storage/emulated/0/Raconteur/Tinku"/>
        <IMAGE FULL="Kaal.png" Title="Kaal" THUMB="thumbs/thumb2.jpg" Path="file:///storage/emulated/0/Raconteur/Kaal"/>
        <IMAGE FULL="Painters.png" Title="Little Painters" THUMB="thumbs/thumb3.jpg" Path="file:///storage/emulated/0/Raconteur/Painters"/>
        <IMAGE FULL="Lost.png" Title="Lost and Found" THUMB="thumbs/thumb4.jpg" Path="file:///storage/emulated/0/Raconteur/Lost"/>
    </GALLERY>
    

    然后,要删除 XML 节点,您可以使用 delete() 运算符:

    // delete the node with the "Title" attribut is 'Kaal'
    delete xml.*.(@Title == 'Kaal')[0];
    
    trace(xml); 
    

    给:

    <GALLERY COLUMNS="3" XPOSITION="30" YPOSITION="30" WIDTH="150" HEIGHT="150">
        <IMAGE FULL="Tinku.png" Title="Tinku" THUMB="thumbs/thumb1.jpg" Path="file:///storage/emulated/0/Raconteur/Tinku"/>
        <IMAGE FULL="Painters.png" Title="Little Painters" THUMB="thumbs/thumb3.jpg" Path="file:///storage/emulated/0/Raconteur/Painters"/>
        <IMAGE FULL="Lost.png" Title="Lost and Found" THUMB="thumbs/thumb4.jpg" Path="file:///storage/emulated/0/Raconteur/Lost"/>
    </GALLERY>
    

    有关使用 XML 的更多详细信息,您可以查看here

    希望能有所帮助。

    【讨论】:

    • 感谢您的回答。但是xml文件仍然没有与附加的节点一起保存。
    • @SankarR 这段代码只是为了编辑xml内容而不是保存它!你能展示你的代码吗?
    • @SankarR 但是在您的代码中没有关于保存 xml 的内容?!那是 AIR 还是 Flash 的?
    • @SankarR I all case,看看 my answer of this question 那里你可以找到如何为 AIR 或 Flash 保存文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多