`
hje
  • 浏览: 288229 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

flex 操作xml

阅读更多
//xml 操作


   function get_xml_depth(xml_source:XML):int//获取xml深度
   {
   var len:int=0;
   var xml_list:XMLList=new XMLList(xml_source);
   while(xml_list.length()!=0)
   {
   xml_list=xml_list.children();
   len++;
   }
   return len;
   }


function merger_xml(xml1:XML,xml2:XML):XML//合并xml
   {
   if(xml1.toString()!=xml2.toString())
   {
   var xml1_first_len:int=xml1.children().length();//取得skill的长度
   var i:int;
       var xml2_first_label:String=xml2.model[0].@label;
       var xml2_sec_label:String=xml2.model[0].model[0].@label;
   for(i=0;i<xml1_first_len;i++)
   {
   var xml1_first_label:String= xml1.model[i].@label;
   if(xml1_first_label==xml2_first_label)
   {
   //继续查找下一级
   var j:int;
   var xml1_sec_len:int=xml1.model[i].model.length();//取得大项的长度
   for(j=0;j<xml1_sec_len;j++)
   {
   var xml1_sec_label:String=xml1.model[i].model[j].@label;
   if(xml1_sec_label==xml2_sec_label)
   {
   var xml1_thr:XML=xml1.model[i].model[j];
   var xml2_thr:XML=xml2.model[0].model[0].model;
   xml1_thr.appendChild(xml2_thr);
   }
   else
   if(j==(xml1_sec_len-1) && xml1_sec_label!=xml2_sec_label)
   {
   var xml1_sec:XML=xml1.model[i];
   var xml2_sec:XML=xml2.model[0].model[0];
   xml1_sec.appendChild(xml2_sec);//没有相同的大项 则 添加大项
   }
   }
   }
   else
   if(i==(xml1_first_len-1) && xml1_first_label!=xml2_first_label )
   {
   var xml2_fir:XML=xml2.model[0];
      xml1.appendChild(xml2_fir);//没有相同的skill的label则添加skill的同级xml (rigth)
       }
   }
   }
   // Alert.show(xml1);
       return xml1;
   }
















   function get_xml_xml(DataSource:XML , compare:String, remarks:String):XML//DataGrid to xml
     {
       var len_xml_skill:int=DataSource.children().children().length();;//skill 长度
     var k:int;
     var skill_len:int;
    
     for(skill_len=0;skill_len<len_xml_skill;skill_len++)
     {
     var len_xml_big:int=DataSource.model[0].model[skill_len].model.length();
   for(k=0;k<len_xml_big;k++)
   {
   var len_xml_smalls:int=DataSource.model[0].model[skill_len].model[k].model.length();//细类长度
       var j:int=0;
   for(j=0;j<len_xml_smalls;j++)
   {
   var key_xml_small:String=DataSource.model[0].model[skill_len].model[k].model[j].@key;

   if(key_xml_small==compare)//根据key 找出所有的属性
   {
  
   var department_label:String=DataSource.model[0].@label;
       var department_type:String=DataSource.model[0].@type;
  
   var skill_label:String=DataSource.model[0].model[skill_len].@label;
   var skill_type:String=DataSource.model[0].model[skill_len].@type;
  
   var big_label:String=DataSource.model[0].model[skill_len].model[k].@label;
   var big_type:String=DataSource.model[0].model[skill_len].model[k].@type;
  
   var small_label:String=DataSource.model[0].model[skill_len].model[k].model[j].@label;
   var small_key:String=compare;
   var small_remarks:String=remarks;
  
   //把取得的数据变成xml//格式不对
   /* var xml_append_small:XML=<model />;
   xml_append_small.@key=small_key;
   xml_append_small.@label=small_label;
   xml_append_small.@remarks=small_remarks;
  
   var xml_append_big:XML=<model></model>;
   xml_append_big.@label=big_label;
   xml_append_big.@type=big_type;
   xml_append_big.appendChild(xml_append_small);
  
   var xml_append_skill:XML=<model></model>;
   xml_append_skill.@label=skill_label;
   xml_append_skill.@type=skill_type;
   xml_append_skill.appendChild(xml_append_big);
  
   var xml:XML=<model label=""></model>;
   xml.@label=department_label;
   xml.@type=department_type;
   xml.appendChild(xml_append_skill);*/
   }
   }
  
   }
     }
   return xml;
        } 
      }











    private function divideXml(len_xml_compliantData:int,change_xml:XML,save_datagrid2:String ):void//分条发送数据
    {
       var m2:int=len_xml_compliantData%2;
       var len:int;
       if(m2==0)
       {
      len=len_xml_compliantData/2;
       }
       else
       {
       len=len_xml_compliantData/2+1;
       }
       var i:int;
       var j:int=len_xml_compliantData-1;
       var xml_sun_compliant:XML=<cti></cti>;
      // Alert.show(len.toString()+"......"+j.toString());
       for(i=0;i<len;i++)
       {
       if(j>=0)
       {
         var xml1:XML=change_xml.model[j];
         xml_sun_compliant.appendChild(xml1);
         j--;
         if(j>=0)
         {
         var xml2:XML=change_xml.model[j];
         xml_sun_compliant.appendChild(xml2);
         j--;
         }
       }
        // Alert.show(xml_sun_compliant.toString());
         save_datagrid2=xml_sun_compliant.toString();
         myHttp.initHttp(actCode_http_send,actCode_url,save_datagrid2);
         xml_sun_compliant=<cti></cti>;
    }    
    }





    private function divideXml(len_xml_compliantData:int,change_xml:XML,save_datagrid2:String ):void//分条发送数据
    {
       var m2:int=len_xml_compliantData%2;
       var len:int;
       if(m2==0)
       {
      len=len_xml_compliantData/2;
       }
       else
       {
       len=len_xml_compliantData/2+1;
       }
       var i:int;
       var j:int=len_xml_compliantData-1;
       var xml_sun_compliant:XML=<cti></cti>;
      // Alert.show(len.toString()+"......"+j.toString());
       for(i=0;i<len;i++)
       {
       if(j>=0)
       {
         var xml1:XML=change_xml.model[j];
         xml_sun_compliant.appendChild(xml1);
         j--;
         if(j>=0)
         {
         var xml2:XML=change_xml.model[j];
         xml_sun_compliant.appendChild(xml2);
         j--;
         }
       }
        // Alert.show(xml_sun_compliant.toString());
         save_datagrid2=xml_sun_compliant.toString();
         Alert.show(save_datagrid2);
         myHttp.initHttp(actCode_http_send,actCode_url,save_datagrid2);
         xml_sun_compliant=<cti></cti>;
    }    
    }





分享到:
评论

相关推荐

    flex读取xml乱码的解决方法

    在探讨“Flex读取XML乱码的解决方法”这一主题时,我们首先需要理解几个关键概念:Flex框架、XML文件以及编码问题。Flex是一种用于构建跨平台桌面应用程序和移动应用程序的强大框架,它由Adobe Systems开发并开源。...

    Flex读取XML不刷新问题

    ### Flex读取XML不刷新问题解析 在Flex应用开发中,常常会遇到读取XML数据时出现不刷新的问题。这不仅影响用户体验,也可能导致数据处理出现异常情况。本文将从多个角度深入分析此问题,并提供可能的解决方案。 ##...

    Flex读取xml文件几种方法

    ### Flex读取XML文件的几种方法 在Flex开发过程中,经常需要处理XML数据。XML(Extensible Markup Language)是一种标记语言,被广泛用于结构化文档和数据存储。Flex提供了多种方式来读取和解析XML文件,包括使用`...

    FLEX操作XML&JSON

    【标题】: 使用FLEX操作XML和JSON 【概述】 在本文中,我们将探讨如何在Adobe Flex(现称为OpenFL)环境中处理XML和JSON数据。Flex是一种开源框架,允许开发人员使用ActionScript 3.0(AS3)和MXML来构建富互联网...

    用flex读取xml然后循环生成buttoon

    用flex读取xml然后循环生成buttoon

    flex 操作xml 实现增删改查

    ### Flex操作XML实现增删改查 在Flex中操作XML数据是进行动态内容处理的关键技能之一。本篇文章将深入探讨如何使用Flex中的XML类来实现对XML数据的增、删、改、查功能。 #### 一、理解XML结构 XML(可扩展标记...

    flex 操作XML

    本篇将重点讲解如何在Flex中操作XML,包括从本地读取XML文件以及通过HttpServer获取远程XML数据。 1. **XML基础**: - XML是一种标记语言,它定义了一组规则来创建自己的标签,这些标签用于描述数据。 - XML文档...

    Flex操作XML

    以下将详细介绍Flex操作XML的几个关键步骤: 1. **加载XML**:Flex提供了`XML`类,用于解析和操作XML文档。你可以使用`URLLoader`加载XML文件,然后将加载的数据转换为`XML`对象。例如: ```actionscript var ...

    Flex操作XML实现增删改查[借鉴].pdf

    本文主要讲解如何使用Flex操作XML实现增删改查的基本操作。 首先,理解XML的基本概念是至关重要的。XML(Extensible Markup Language)是一种标记语言,它允许我们定义自定义的标签来结构化数据。在XML文档中: 1....

    flex解析xml框架实例

    在Flex界面中添加HTTPService组件,配置其URL以指向服务器上的XML数据源,然后设置result事件监听器,以便在接收到数据时执行解析操作。 例如,以下是一个简单的HTTPService使用示例: ```xml &lt;![CDATA[ import...

    readxml flex加载xml文件

    本篇文章将深入探讨在Flex中读取XML文件的三种主要方法,并对它们进行比较。 一、XMLLoader XMLLoader是ActionScript 3中的一个类,专门用于加载和解析XML文档。使用XMLLoader,可以异步加载XML,这意味着主程序...

    flex解析xml

    总结,Flex解析XML文件主要通过XML和XMLList类,它们提供了丰富的API来操作XML数据。理解这些概念和方法,将有助于你在Flex应用中有效地处理和展示XML数据。无论是简单的数据展示还是复杂的交互逻辑,Flex都能通过...

    Flex操作XML实现增删改查.pdf

    以下我们将深入探讨如何在Flex中操作XML。 一、XML基础知识 1. **元素(Element)**:XML文档的基本组成单位,由开始标签和结束标签包围的部分。例如 `&lt;node&gt;` 和 `&lt;/node&gt;`。 2. **节点(Node)**:包括元素、文本...

    flex 解析xml文件 httpservice

    本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 首先,让我们了解Flex中的XML类。XML类是ActionScript 3.0中用于处理XML文档的主要工具,...

    Flex与JSON及XML的互操作

    - **Flex与XML的互操作**:Flex通过内置的XML解析功能,可以直接读取和解析XML数据,这使得从服务器获取XML格式的数据并将其展示在Flex应用中变得非常简便。例如,文章中提到的JSP文件生成的XML数据,可以直接被Flex...

    Flex里解析XML数据

    Flex中的XML支持E4X,这是一种集成在AS3中的XML处理语法,使XML操作更加直观。E4X允许我们像处理JavaScript对象一样处理XML,例如: ```actionscript var items:Array = xml.root.item.*; for each (var item:XML ...

    flex 解析xml实例

    本实例将探讨如何在Flex中解析XML,以读取XML标签并获取信息。 首先,XML(eXtensible Markup Language)是一种结构化数据语言,它的主要特点是结构清晰、易于阅读和编写,并且可以被机器和人类同时理解。在Flex中...

    flex 读XML 写XML 并保存为文件

    首先,读取XML文件内容,然后使用反序列化函数将XML数据转换回图形对象,并在Flex应用中显示出来。 总结,Flex中对XML的操作包括读取、写入和保存,可以结合E4X和FileReference类实现。同时,通过序列化和反序列化...

    flex - xml操作

    ### Flex与XML操作详解 #### 一、E4X与ActionScript 3.0的集成 E4X(ECMAScript for XML)是ECMAScript标准的一个扩展,它被引入到ActionScript 3.0中,极大地简化了XML数据处理的过程。在Flash 5时,ActionScript...

    flex外部读取xml

    在Flex编程中,读取XML文件是常见的数据交互方式,特别是在构建富互联网应用程序(RIA)时,用于存储和传输数据。本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于...

Global site tag (gtag.js) - Google Analytics