flex数据库,flex从数据库读取数据生成xml文件

其实很简单,我是C#写的
首先你的获得数据源假设是个二维数组string[][] str = {{"guojing","18"},{"huorong","20"} };
StringBuilder str = new StringBuilder();
// 先写个根节点
str.Append("<root name=\"root\">");
// 循环,将数据转换为xml
for(int i=0;i<str.Length;i++) {
string name = str[0];
string age = str[1];
str.Append(String.Format("<people name=\"{0}\" age=\"{1}\"/>",name,age));
}
str.Append("</root>");
如果你要的xml是多层次的,无非就是多加个循环。自己琢磨吧!
输出结果:
<root name="root">
<people name="guojing" age="18"/>
<people name="huangrong" age="20"/>
</root>
java端
public String getAllProjInfoByCustId(String custId) {
String hql="from ProjInfo where custId='"+custId+"'";
@SuppressWarnings("unchecked")
List<ProjInfo> projInfos=select(hql);
StringBuffer str=new StringBuffer();
// 先写个根节点
str.append("<node name='root'>");
// 循环,将数据转换为xml
for(int i=0;i<projInfos.size();i++) {
ProjInfo projInfo=projInfos.get(i);
String projName = projInfo.getProjName();
String projId =projInfo.getProjId();
str.append("<node label='"+projName+"' id='"+projId+"'/>");
}
str.append("</node>");
return str.toString();
}
flex
var xml:XML=new XML(event.result);
myTree.dataProvider=xml;
复杂的xml文件
java如何读取数据库返回xml作为flex tree控件的数据源
dom4j用过吗?没用过可以研究下,操作xml的,flex端用httpservice类访问一个JAVA的servlet,这个servlet只要response.getWrite().println(xmlstr);这样输出一个XML的字符串,FLEX端就可以拿到了,关键是你如果手动去拼这个xml的字符串很容易出错,所以建议用dom4j之类的xml操作类去生成xml的字符串比较安全,flex端拿到xml的字符串后可以转成xml对象赋给tree的dataProvider属性就可以生成树了,
建议你分两步走,一个是flex的数据交互,用假数据熟悉httpservice之类的交互类,然后熟悉XML字符串的生成
Tags:  flex数据库

延伸阅读

最新评论

发表评论