如何在数据库中读取和存储XML数据

时间:2012-07-23 11:13:09

标签: java oracle xml-parsing

我是java和xml解析器中的新joiner,我需要从XMl文件中读取数据并将其存储在数据库中。

首先,我所做的是从Xml文件中读取数据,并以列和行格式存储在文本文件中。任何人都可以告诉我如何从xml文件中读取数据并以列和行的形式处理数据。

列和行表示:

  1. 节点名称必须一个接一个地以行方式显示在标题位置

    示例:

    Column1, column2, column3.....
    
  2. 该数据中的值必须存储在上面的列明智标记

    示例:

    Column1, column2, column3,...  
    row1, row2, row3,...  
    row1, row2, row3,....  
    
  3. 请帮助我,我在过去10天内与此斗争,我无法在列和行中读取数据。我所做的是:

    示例代码:

      public class XMLReader extends XMLUtil{
    
        public static void main(String args[]) {
            try{
            XMLUtil xml=new XMLUtil();
            Document doc=xml.docFromFilePath("data/Schools.xml");
            //System.out.println("Root element :"+ doc.getDocumentElement().getNodeName());
            NodeList nl= doc.getElementsByTagName("*");
            for(int i=0;i< nl.getLength();i++)
                {
                    /*String column1=nl.item(i).getNodeName();
                    String column=nl.item(i).getFirstChild().getNodeValue();
                    System.out.println(column1+":"+ column);*/
                Node n = nl.item(i);
                String name=n.getNodeName();
                System.out.print(name+ " ");
                }
            System.out.println();
    
    
    
    
             File f=new File("results/test1.txt");
            xml.prettyPrintToFile(f, doc);
            FileUtil futil=new FileUtil();
            futil.readFileBytes(f);
            //System.out.println(futil.toString());
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
    
        }
        }
    

1 个答案:

答案 0 :(得分:0)

为了形成查询,您应该使用PreparedStatement

示例用法:

String query = "INSERT INTO some_table (col1,col2,col3) values (?,?,?)
PreparedStatement stmt = null;
stmt = con.prepareStatement(query);
//now use the values from the xml and bind them to the statement
stmt.setString(someStringValue);
stmt.setInt(someIntValue);
...
stmt.execute();