先生成一个document.写入数据,再生成XML文件

解决方案 »

  1.   

    上面的说的太简单的,呵呵
    不过呢,我建议,不要单用dom或者sax
    用jdom和sax结合比较好
    try
    {
    SAXBuilder sb = new SAXBuilder();
    //Document doc = sb.build(new FileInputStream("D:\\WF_EIS\\classes\\wf_eis\\sql.xml"));
    //取得路径,FileInputStream是取绝对路径,所以下面这个取相对路径 fileName=this.getClass().getClassLoader().getResource("../sql/sql.xml");
    //System.out.println(fileName);
    /**************************
    *当前文件得路径
    File file = new File("sql.xml");
    String path = file.getCanonicalPath();
    */
    if(fileName==null)
    throw new Exception("file not found"); //建立doc对象
    Document doc = sb.build(fileName);
    //取得根节点
    Element root = doc.getRootElement();
    //将根节点下所有节点放入list
    java.util.List sqls = root.getChildren();
    //取得第一个子节点
    for(int i=0; i<sqls.size();i++)
    {
    Element sql = (Element)sqls.get(i);
    //取得子节点的值
    name=sql.getChild("name").getText();
    if(name.equalsIgnoreCase(sqlName))
    {
    sqlDetail=sql.getChild("sql_detail").getText();
    break;
    }
    else
    {
    sqlDetail="java not found this sql sentence.";
    }
    }
    }
    catch(JDOMException e)
    {
    e.printStackTrace();
    }
    catch(NullPointerException e)
    {
    e.printStackTrace();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    return sqlDetail;
    }