数据库的一列储存的是xml文件的内容(以字符传形式),用java读出来好怎么转换成xml文件

解决方案 »

  1.   

    用DOM4J
    String xmlStr = ""; 
    Document document = DocumentHelper.parseText(xmlStr); 
      

  2.   


         public static void main(String[] args) {
    UserDAO userDAO = new UserDAO();
    List list = userDAO.queryAllUser();
    Document doc = DocumentHelper.createDocument();
    Element rootElement = doc.addElement("class"); // 建主根结点
    for (int i = 0; i < list.size(); i++) {
    User user = (User) list.get(i);
    Element studentEle = rootElement.addElement("student"); //创建结点student
    studentEle.addAttribute("id", String.valueOf(user.getId())); //在student上添加属性
    Element nameEle = studentEle.addElement("userName");  //在student下添加子结点
    nameEle.setText(user.getUserName());
    Element pwdEle = studentEle.addElement("password");
    pwdEle.setText(user.getPassword());
    Element sexEle = studentEle.addElement("sex");
    sexEle.setText(user.getSex());
    Element ageEle = studentEle.addElement("age");//registry
    ageEle.setText(String.valueOf(user.getAge()));
    Element registryEle = studentEle.addElement("registry");
    registryEle.setText(user.getJiGuan());
    }

    try {
    OutputFormat of = OutputFormat.createPrettyPrint();//进行格式化输出 
    of.setEncoding("UTF-8"); //设置编码
    OutputStream os = new FileOutputStream("d:/class.xml");
    XMLWriter output = new XMLWriter(os,of);
    output.write(doc);
    output.close();
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
      

  3.   


      ?xml version="1.0" encoding="UTF-8"?>
    <class>
    <student id="11">
    <userName>张三</userName>
    <password>123</password>
    <sex>男</sex>
    <age>22</age>
    <registry>湖南</registry>
    </student>
    <student id="14">
    <userName>李四</userName>
    <password>fasdfa</password>
    <sex>男</sex>
    <age>20</age>
    <registry>长沙</registry>
    </student>
    <student id="16">
    <userName>王五</userName>
    <password>1231</password>
    <sex>男</sex>
    <age>12</age>
    <registry>宁乡</registry>
    </student>
    <student id="17">
    <userName>dddddd</userName>
    <password>ADF</password>
    <sex>男</sex>
    <age>22</age>
    <registry>ASDFA</registry>
    </student>
    <student id="18">
    <userName>eeeeeeee</userName>
    <password>dasfas</password>
    <sex>男</sex>
    <age>0</age>
    <registry>dsafsa</registry>
    </student>
    </class>产生的xml
      

  4.   

    应为字段太多还有嵌套,有没有根据读出来的字符串直接生成xml文件,不把创建每个节点的过程都写出来
      

  5.   


    OutputStream os = new FileOutputStream("d:/class.xml");
    String content = "<?xml version=1.0?><stu><name>test</name></stu>";
    os.write(content.getBytes());
    反正是从数据库里读出的字符串,那就直接往文件里写呗,是这意思吗?