在一个form里面有三个table,当我点击按钮提交这个form的时候,如何将这三个table分别保存在三个XML文件中。请大家给个思路,如果有类似的代码提供,更是不胜感激!祝各位五一玩的开心

解决方案 »

  1.   

    我说下思路:
    HTML结构:
    <form action="..">
      <table> ... </table>
      <table> ... </table>
      <table> ... </table>
    </form>submit后,存储3个Table的数据到3个数据结构中(如Vector等)
    Table中的数据可以通过request.getParameter()来得到吧。
    有了数据就开始写XML文件,写一个写入到XML的方法:
    public void writeToXML(String filename,Vector data);实现自己去写吧,我只给你提供这个思路,能看懂么?
      

  2.   

    public void writeToXML(String filename,Vector data)的基本实现:import java.io.*;
    import java.util.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.apache.crimson.tree.XmlDocument;
    public static void writeXMLFile(String file,Vector vector) throws Exception
    {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = null;

    try
    {
    db = dbf.newDocumentBuilder();
    }
    catch(ParserConfigurationException pce)
    {
    pce.printStackTrace();
    System.exit(1);
    }

    Document doc = null;
    doc = db.newDocument();

    //write ROOT
    Element root = doc.createElement("root");
    doc.appendChild(root);

    for(int i=0;i<vector.size();i++)
    {
    Element e = doc.createElement("data");
    getData()得到数据........
             e.setAttribute(name,value);
                               e.setAttribute(name,value);
                               .......
    root.appendChild(e);
    }

    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos);
    ((XmlDocument)doc).write(osw);
    System.out.println("Write finished.");
    osw.close();
    }注:把每个Table中的数据封装起来,方便getData()取数据。