//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是一种用于构建跨平台桌面应用程序和移动应用程序的强大框架,它由Adobe Systems开发并开源。...
### Flex读取XML不刷新问题解析 在Flex应用开发中,常常会遇到读取XML数据时出现不刷新的问题。这不仅影响用户体验,也可能导致数据处理出现异常情况。本文将从多个角度深入分析此问题,并提供可能的解决方案。 ##...
### Flex读取XML文件的几种方法 在Flex开发过程中,经常需要处理XML数据。XML(Extensible Markup Language)是一种标记语言,被广泛用于结构化文档和数据存储。Flex提供了多种方式来读取和解析XML文件,包括使用`...
【标题】: 使用FLEX操作XML和JSON 【概述】 在本文中,我们将探讨如何在Adobe Flex(现称为OpenFL)环境中处理XML和JSON数据。Flex是一种开源框架,允许开发人员使用ActionScript 3.0(AS3)和MXML来构建富互联网...
用flex读取xml然后循环生成buttoon
### Flex操作XML实现增删改查 在Flex中操作XML数据是进行动态内容处理的关键技能之一。本篇文章将深入探讨如何使用Flex中的XML类来实现对XML数据的增、删、改、查功能。 #### 一、理解XML结构 XML(可扩展标记...
本篇将重点讲解如何在Flex中操作XML,包括从本地读取XML文件以及通过HttpServer获取远程XML数据。 1. **XML基础**: - XML是一种标记语言,它定义了一组规则来创建自己的标签,这些标签用于描述数据。 - XML文档...
以下将详细介绍Flex操作XML的几个关键步骤: 1. **加载XML**:Flex提供了`XML`类,用于解析和操作XML文档。你可以使用`URLLoader`加载XML文件,然后将加载的数据转换为`XML`对象。例如: ```actionscript var ...
本文主要讲解如何使用Flex操作XML实现增删改查的基本操作。 首先,理解XML的基本概念是至关重要的。XML(Extensible Markup Language)是一种标记语言,它允许我们定义自定义的标签来结构化数据。在XML文档中: 1....
在Flex界面中添加HTTPService组件,配置其URL以指向服务器上的XML数据源,然后设置result事件监听器,以便在接收到数据时执行解析操作。 例如,以下是一个简单的HTTPService使用示例: ```xml <![CDATA[ import...
本篇文章将深入探讨在Flex中读取XML文件的三种主要方法,并对它们进行比较。 一、XMLLoader XMLLoader是ActionScript 3中的一个类,专门用于加载和解析XML文档。使用XMLLoader,可以异步加载XML,这意味着主程序...
总结,Flex解析XML文件主要通过XML和XMLList类,它们提供了丰富的API来操作XML数据。理解这些概念和方法,将有助于你在Flex应用中有效地处理和展示XML数据。无论是简单的数据展示还是复杂的交互逻辑,Flex都能通过...
以下我们将深入探讨如何在Flex中操作XML。 一、XML基础知识 1. **元素(Element)**:XML文档的基本组成单位,由开始标签和结束标签包围的部分。例如 `<node>` 和 `</node>`。 2. **节点(Node)**:包括元素、文本...
本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 首先,让我们了解Flex中的XML类。XML类是ActionScript 3.0中用于处理XML文档的主要工具,...
- **Flex与XML的互操作**:Flex通过内置的XML解析功能,可以直接读取和解析XML数据,这使得从服务器获取XML格式的数据并将其展示在Flex应用中变得非常简便。例如,文章中提到的JSP文件生成的XML数据,可以直接被Flex...
Flex中的XML支持E4X,这是一种集成在AS3中的XML处理语法,使XML操作更加直观。E4X允许我们像处理JavaScript对象一样处理XML,例如: ```actionscript var items:Array = xml.root.item.*; for each (var item:XML ...
本实例将探讨如何在Flex中解析XML,以读取XML标签并获取信息。 首先,XML(eXtensible Markup Language)是一种结构化数据语言,它的主要特点是结构清晰、易于阅读和编写,并且可以被机器和人类同时理解。在Flex中...
首先,读取XML文件内容,然后使用反序列化函数将XML数据转换回图形对象,并在Flex应用中显示出来。 总结,Flex中对XML的操作包括读取、写入和保存,可以结合E4X和FileReference类实现。同时,通过序列化和反序列化...
### Flex与XML操作详解 #### 一、E4X与ActionScript 3.0的集成 E4X(ECMAScript for XML)是ECMAScript标准的一个扩展,它被引入到ActionScript 3.0中,极大地简化了XML数据处理的过程。在Flash 5时,ActionScript...
在Flex编程中,读取XML文件是常见的数据交互方式,特别是在构建富互联网应用程序(RIA)时,用于存储和传输数据。本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于...