高手请赐教  java如何向xml随意写数据啊 具体如何实现  

解决方案 »

  1.   

    import java.io.FileOutputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;/**
     * 
     * @author E-mail:[email protected]
     *         Aug 4, 20077:19:52 PM
     * 
     * 从数据库导数据到XML文件里面
     */public class extraxml
    {
    private String sql = ""; private String colName = ""; private String sdbrive = ""; private String sconnstr = ""; private Connection conn; private Statement stmt; private ResultSet res; private String name = ""; private String pass = ""; Element doc; public extraxml()
    {
    conn = null;
    stmt = null;
    name = "sa";
    pass = "";
    sdbrive = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    sconnstr = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=xmltext";
    sql = "select top 100 * from sales"; } public void buildxmldoc() throws SQLException
    {
    try
    {
    Class.forName(sdbrive);
    conn = DriverManager.getConnection(sconnstr, name, pass);
    stmt = conn.createStatement();
    res = stmt.executeQuery(sql);
    } catch (ClassNotFoundException e)
    {
    // TODO Auto-generated catch
    // block
    e.printStackTrace();
    System.out.println(e);
    System.out.println("数据库连接出错,请仔细检察.");
    }
    try
    {
    Document document = new Document(new Element("Main"));
    ResultSetMetaData rsmd = res.getMetaData();
    int i = 0;
    int numberofcolumns = rsmd.getColumnCount(); while (res.next())
    { doc = new Element("userinfo");
    document.getRootElement().addContent(doc); for (i = 1; i <= numberofcolumns; i++)
    {
    colName = res.getString(i); Element elemnt = new Element(rsmd.getColumnName(i))
    .setText(colName);
    doc.addContent(elemnt);
    } }
    XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); outp.output(document, new FileOutputStream("d:\\test.xml"));
    System.out.println(doc);
    System.out.println("文件导出成功,请查看...");
    } catch (Exception e)
    {
    e.printStackTrace();
    System.out.println(e);
    }
    res.close();
    stmt.close();
    conn.close(); } /**
     * @param args
     */
    public static void main(String[] args)
    {
    // TODO Auto-generated method
    // stub extraxml ex = new extraxml();
    try
    {
    ex.buildxmldoc();
    } catch (Exception e)
    {
    e.printStackTrace();
    System.out.println(e);
    }
    }}
      

  2.   

      前几天研究properties时写过笔记,主要是java.util.properties里的storeToXML方法
      你可以参考一下:http://blog.csdn.net/BusAudio/archive/2007/12/02/1911449.aspx
      

  3.   

        以前没用过jdom,看了sun139的回复,这里学习了。
        JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作 。
        JDOM官方网站: http://www.jdom.org  
      

  4.   

    jdom和dom4j都可以解决你的问题
    1楼正解