使用jdbc将数据导出到xml文档

使用jdbc将数据导出到xml文档,jdbc,xml-parsing,Jdbc,Xml Parsing,这似乎是个愚蠢的问题。。我对jdbc非常陌生,并尝试学习教程。本教程试图以“mapping.XML”提供的解析形式存储XML数据。下面是示例代码: public static void main (String args[]) { Document mapping = null; Document dataDoc = null; Document newDoc = null; try { DocumentBuilderFactory d

这似乎是个愚蠢的问题。。我对jdbc非常陌生,并尝试学习教程。本教程试图以“mapping.XML”提供的解析形式存储XML数据。下面是示例代码:

 public static void main (String args[]) {
    Document mapping = null;
    Document dataDoc = null;
    Document newDoc = null;
      try {

          DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
          DocumentBuilder docbuilder = dbfactory.newDocumentBuilder();
          mapping = docbuilder.parse("mapping.xml");
          dataDoc = docbuilder.newDocument();

          //Instantiate the new Document
          newDoc = docbuilder.newDocument();
      } catch (Exception e) {
          System.out.println("Errors with creating document: "+e.getMessage());
       }   
但是,在运行代码之后,不会创建任何新的XML文档,也不会捕获任何异常。有人能帮我吗

谢谢

这里没有真正存储任何XML文档,您几乎没有在内存中创建XML文档的DOM表示。为了实际存储文件,您需要以下代码段:

TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Result result = new StreamResult(new File("output.xml"));
Source source = new DOMSource(dataDoc);
transformer.transform(source, result);
第三条线至关重要

顺便说一句,请某人查看您的代码:

  • 方法太长了
  • Uou未正确处理异常
  • DOM可能不是导出大量数据的最佳选择

您的代码做两件事:解析现有的
mapping.xml
文件和在内存中创建新的xml文档(DOM对象)。上面既没有读取JDBC,也没有存储任何文件……您好,Tomasz,我已经用除JDBC连接部分之外的所有信息更新了代码区域。谢谢谢谢托马斯兹!我添加了上面的代码,但从第3行收到一条错误消息,消息说--Type mismatch:无法从StreamResult转换为DirStateFactory。Result您知道如何解决这个问题吗?@zoe:我只能猜测将第3行更改为:
javax.xml.transform.Result=
…-会有帮助的。