【Flex】读取本地JSON,然后JSON数据转成XML数据
来源:互联网 发布:冯大辉丁香园离职知乎 编辑:程序博客网 时间:2024/06/01 21:21
package utils{ import flash.xml.XMLDocument; import flash.xml.XMLNode; import mx.rpc.xml.SimpleXMLEncoder; /** * 模块功能:把json格式的数据 转换成 xml格式的数据 * 创建时间:2016-11-26 下午3:33:20 * @author pengxiang * */ public final class ConverJSONToXML { public function ConverJSONToXML() { } /** * 函数功能:把Object格式数据 转换成 XML格式数据;(方法1 可以用,完全灵活,但是对于本项目有BUG,作为下面优化的参考) * @param obj Object格式数据 * @param rootNodeName XML根节点名称 * @return XML * */ public static function converObjectToXML1(obj:Object,rootNodeName:String):XML { var qName:QName = new QName(rootNodeName); var xmlDocument:XMLDocument = new XMLDocument(); var simpleXMLEncoder:SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument); var xmlNode:XMLNode = simpleXMLEncoder.encodeValue(obj, qName, xmlDocument); var xml:XML = new XML(xmlDocument.toString()); // trace(xml.toXMLString()); return xml; } /** * 函数功能:把Object格式数据 转换成 XML格式数据;(方法2 不可以用,半灵活,有BUG,作为下面优化的参考) * @param obj Object格式数据 * @param nodeParentName XML根节点名称 * @return XML * */ public static function converObjectToXML2(obj:Object,nodeParentName:String):XML { var nodeParent:XML = <{nodeParentName}/>; for(var item:Object in obj){ var node:XML = new XML(<{item}></{item}>); if (item == "arr"){ var arr :Array = String(obj[item]).split(","); for (var i:int=0;i<arr.length;i++){ node.appendChild(new XML(<{i}>{arr[i]}</{i}>)); } }else if (item == "Item"){ converObjectToXML2(obj[item], node); }else{ node = new XML(<{item}>{obj[item]}</{item}>); } nodeParent.appendChild(node); } trace(nodeParent.toXMLString()); return nodeParent; } /** * 函数功能:把Object格式数据 转换成 XML格式数据;(方法3 可以用,半写死半灵活的方法,针对本项目设定的json格式,无BUG ) * @param itemObj Object格式数据 * @param rootNodeName XML根节点名称 * @param itemNodeName XML子节点名称 * @return XML * */ public static function converObjectToXML(itemObj:Object,rootNodeName:String,itemNodeName:String):XML { // var rootNode:XML = <root/>; // for(var i:int=0;i<itemObj.length;i++) // { // var obj:Object = itemObj[i]; // var itemNode:XML = <Item/>; // for(var str:String in obj) // { // itemNode["@"+str] = obj[str]; // } // rootNode.appendChild(itemNode); // } var rootNode:XML = <{rootNodeName}/>; for(var i:String in itemObj) { var obj:Object = itemObj[i]; var itemNode:XML = <{itemNodeName}/>; for(var str:String in obj) { itemNode["@"+str] = obj[str]; } rootNode.appendChild(itemNode); } return rootNode; } public static function objectToXml(obj:Object, root:*):void { for(var str:String in obj) { root["@"+str] = obj[str]; } } /** * 返回XML文件字符串 * @param value * @return * */ public static function toXMLFileString(value:XML):String { return '<?xml version="1.0" encoding="utf-8"?>\n' + value.toXMLString(); } }}
0 0
- 【Flex】读取本地JSON,然后JSON数据转成XML数据
- 【Flex】读取本地XML,然后XML数据转成JSON数据
- 读取本地json数据
- 将数据转成JSON
- [bigdata-090] golang的两种将数据转化成json然后再从json转成数据
- 读取本地JSON数据初始化树
- 如何读取本地的json数据
- 从本地JSON文件中读取数据
- swift3读取本地json数据 --JSONSerialization.jsonObject()
- flex数据转换之JSON和XML
- XZ_Swift之加载本地json数据、将json数据写入磁盘、从磁盘读取json数据
- Qt读取JSON和XML数据
- Qt读取JSON和XML数据
- List<Object> 转成Json数据
- JSON数据转成html表格
- android解析xml和json数据(获取本地服务器数据)
- struts2 读取json数据
- Grid读取json数据
- onActivityResult不调用
- 通达OA二次开发 开发多个管理程序的汇总流程审批(图文)
- apache CXF wsdl2java工具的使用
- Android Http协议笔记(使用HttpURLConnection)文件上传+参数
- Spring读取properties文件出现乱码的解决方法
- 【Flex】读取本地JSON,然后JSON数据转成XML数据
- Auto Hot Key 实现自动评教
- 剑指Offer——“你最大的缺点是什么”回答技巧及范例
- android 背景图片选择器和颜色选择器
- CentOS 7安装Gnome GUI 图形界面
- Hibernate学习笔记(一)
- 为openwrt添加新的profile
- TabHost详解:实现底部导航栏
- 使用CNPM搭建企业内部私有的NPM库