Struts中利用action来输出xml文件
应一个同事的要求,要利用strtus的Action将一个数据库表的数据输出为xml格式的数据,方便导入使用。经研究Action还真能办到,实际上不是Action的功劳,而是JDOM的功劳,不说那么多了,给大家分享一下。 我有一个测试表,有两个字段,一个是用户名,一个是密码,现将这个表的数据全部输出为xml格式的。首先给出我的Action,代码如下: package com.yourcompany.struts.action;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
import com.yourcompany.struts.form.User;
public class DisplayALL extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DataSource ds = getDataSource(request, "s9");
Connection conn = ds.getConnection();
Statement stmt = null;
ResultSet rs = null;
response.setContentType("text/xml;charset=utf-8");
Element rootElement = new Element("users");
Document users = new Document(rootElement);
try {
String ls_sql = "select * from dd ";
stmt = conn.createStatement();
rs = stmt.executeQuery(ls_sql);
while (rs.next()) {
Element user = new Element("user");
user.setAttribute("username", rs.getString(1));
user.setAttribute("password", rs.getString(2));
rootElement.addContent(user);
}
XMLOutputter xout=new XMLOutputter();
xout.output(users,response.getWriter());
} c
相关文档:
JAVA对象转换为XML格式
简单的颤述下如何将JAVA对象转换为XML格式,详细了解请进入http://xstream.codehaus.org/tutorial.html
JAVABEAN对象
userInfo.java
private String name;
& ......
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
namespace jiu ......
string GetXmlByDataTable()
{
string xmlstr;
string sql = "select top 10 * from BasicInfo";
DataTable dt = idb.ReturnDataTable(sql);
&nb ......
Flex 和C++ 之间传输结构体数据
一直想试验用结构体传数据
但是Flex 和C++ 的类型所占的字节数有时不一样
如int 在C++中站2个字节,而在Flex中占4个字节。
转换比较麻烦。
最后决定用XML进行传输
然后两边都加一个XML 解析和封装类。
C++ 端使用的tinyXML 类
Flex直接使用自己带的 E4X 类
Flex代码如下
&nb ......
<?xml version="1.0" encoding="UTF-8"?>
<company>
<tel>020-12345678-66</tel>
<tel>020-12345678-85</tel>
<introduce>
<![CDATA[
<br/><h1>公司简介& ......