【问题标题】:Parsing an XML to XML based on conditions in Flex根据 Flex 中的条件将 XML 解析为 XML
【发布时间】:2014-06-25 10:15:57
【问题描述】:

我是 XML 新手,我被分配了一项任务,即根据某些条件将一个 XML 解析为另一个 XML。例如:

<xml>
<items>
<item file="sms123" files loaded="20" date="22/12/2014"></item>
<item file="sms23223" files loaded="25" date="22/12/2013"></item>
<item file="mms345" files loaded="30" date="22/06/2014"></item>
<item file="sms02821" files loaded="35" date="31/12/2012"></item>
<item file="mms4738292" files loaded="15" date="21/1/2014"></item>
</items>
</xml>

这是 xml 文件,我需要根据某些条件将其解析为中间 XML 文件。我想要的输出xml如下:

<xml>
<items>
<item file="sms" files loaded="80" > </item>
<item file="mms" files loaded="45"></item>
</items>
</xml>

我只想根据第一个单词将文件名分组为一个文件名,然后将组内加载的所有文件相加。

谢谢。

【问题讨论】:

    标签: xml apache-flex actionscript xml-parsing


    【解决方案1】:

    看看:

    public static function getResult(input:XML):XML
    {
        var smscounter:int = 0;
        var mmscounter:int = 0;
        for each(var item:XML in XML(input.items[0]).children())
        {
            var fileName:String = item.@file;
            if (fileName.indexOf("sms")) > 0)
            {
                smscounter += Number(item.@loaded);
            }
            else if (fileName.indexOf("mms")) > 0)
            {
                mmscounter += Number(item.@loaded);
            }
        }
    
        var sms:XML = new XML("<item file='sms' files loaded='" + smscounter + "'/>");
        var mms:XML = new XML("<item file='mms' files loaded='" + mmscounter + "'/>");
        var items:XML = new XML(<items/>);
        items.appendChild(sms);
        items.appendChild(mms);
        var xml:XML = new XML(<xml/>);
        xml.appendChild(items);
        return xml;
    }
    

    这应该可以解决问题。

    【讨论】:

    • 非常感谢兄弟。我还没有执行上面的代码,因为我不知道在Flex中哪里写这个代码。请帮忙。
    • 我编辑了我的答案,应该更容易理解。您将输入XML 提供给函数,它会产生所需的输出XML。由于这是public static function,它可以在任何地方执行。
    • 此代码显示如下错误: 1119: 访问可能未定义的属性通过静态类型字符串的引用加载。它在这一行显示错误 smscounter += Number(fileName.@loaded);
    • 发生了动作脚本错误,提示:TypeError: Error #1090: XML parser failure: element is malformed.
    • 再次编辑。暂时无法测试代码,我的环境没有搭建好。
    猜你喜欢
    • 2017-06-12
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2015-05-31
    • 2015-06-30
    • 1970-01-01
    相关资源
    最近更新 更多