使用JDom从Java后台给Flex前端传递xml数据

在Java作为服务器时候在给前端传递数据的时候可能会遇到xml , 在与flex交互中,
可以在Java端生成xml的字符串传到Flex端


jdom 需要重网上下载 ,工程引入jdom.jar即可;

flex端 接受 这个字符串 ,并处理为xml对象,在给tree绑定值
var xmlll:XML = new XML(xmlString);


Element root, name, age;//声明xml节点
   root = new Element("root"); // 创建 root 元素
   Document myDocument = new Document(root); // 设置 "root" 为根节点
   name = new Element("name");   //初始化元素
   age = new Element("age");
   Attribute attName= new Attribute("label","zhang"); //声明节点属性 并赋值
   name.setAttribute(attName);   //为节点添加属性
   age.addContent("24");    //给元素内容赋值
   // 将address元素作为子元素,添加到root根元素中
   root.addContent(name);

dome:
package com.xml;

import java.io.ByteArrayOutputStream;
import java.io.FileWriter;

import org.jdom.*;

import org.jdom.input.*;

import org.jdom.output.*;

public class CreateXML_01 {

Element root, name, age, sex, address, street, city, district; // 声明xml元素

public CreateXML_01() {
   root = new Element("root"); // 创建 root 元素
   Document myDocument = new Document(root); // 设置 "root" 为根节点

   // 创建XML文档中的其他元素,并初始化元素名
   name = new Element("name");
   age = new Element("age");
   sex = new Element("sex");
   address = new Element("address");
   street = new Element("street");
   city = new Element("city");
   district = new Element("district");

   // 给XML文档中的每一个元素添加内容值

   //name.addContent("zhang");
  
   Attribute attName= new Attribute("label","zhang");

   name.setAttribute(attName);
  
   age.addContent("24");
  
   sex.addContent("male");

   street.addContent("No.1 East Rood,ShangDi");

   district.addContent("Hai Dian");

   city.addContent("Bei Jing");
   // 将street、district和city元素作为子元素,添加到address元素中

   address.addContent(street);

   address.addContent(district);

   address.addContent(city);

   // 将address元素作为子元素,添加到customer根元素中

   root.addContent(name);

   root.addContent(age);

   root.addContent(sex);

   root.addContent(address);

//   try
//
//   {
//
//    // 创建XML文件输出流
//
//    XMLOutputter fmt = new XMLOutputter();
//
//    // 创建文件输出流
//
//    FileWriter writer = new FileWriter("c:\\customer.xml");
//
//    // 设置所创建的XML文档的格式
//
//    Format f = Format.getPrettyFormat();
//
//    fmt.setFormat(f);
//
//    // 将生成的XML文档写入到"c:\customer.xml"文件中
//
//    fmt.output(myDocument, writer);
//
//    writer.close();
//
//   }
//
//   catch (Exception e) {
//    e.printStackTrace();
//   }

   OutputToString(myDocument);

}

public static String OutputToString(Document document) {
   ByteArrayOutputStream byteRep = new ByteArrayOutputStream();
   XMLOutputter docWriter = new XMLOutputter();
   try {
    docWriter.output(document, byteRep);
   } catch (Exception e) {
    e.printStackTrace();
   }

   System.out.println(byteRep.toString());
   return byteRep.toString();
}

public static void main(String[] args) {
   CreateXML_01 cm = new CreateXML_01();
}
}

Java后台测试结果:
<?xml version="1.0" encoding="UTF-8"?>
<root><name label="zhang">zhang</name><age>24</age><sex>male</sex><address><street>No.1 East Rood,ShangDi</street><district>Hai Dian</district><city>Bei Jing</city></address></root>

参考http://hi.baidu.com/cq_yajun/blog/item/2cdce9c9796c09f152664fa8.html

你可能感兴趣的:(java,C++,c,xml,Flex)