2009-10-12 49 views
0

我有student.xml文件,并使用SAX解析器解析此文件,现在我需要将数据存储到MySQL数据库中,因此建议使用什么方法。使用SAX解析器解析XML文件后,将数据存储到MySQL中的最佳方法是什么?

代码:

package sax; 

    import javax.xml.parsers.SAXParser; 
    import javax.xml.parsers.SAXParserFactory; 

    import org.xml.sax.Attributes; 
    import org.xml.sax.SAXException; 
    import org.xml.sax.helpers.DefaultHandler; 

    public class ReadXML extends DefaultHandler{ 

     public void characters(char[] ch, int start, int length) throws SAXException { 
      String s =new String(ch, start, length); 
      if(s.trim().length()>0) { 
       System.out.println(" Value: "+s); 
      } 
     } 

     public void startDocument() throws SAXException { 
      System.out.println("Start document"); 
     } 

     public void endDocument() throws SAXException { 
      System.out.println("End document"); 
     } 

     public void startElement(String uri, String localName, String name, 
       Attributes attributes) throws SAXException { 
      System.out.println("start element : "+name); 

     } 

     public void endElement(String uri, String localName, String name) throws SAXException { 
      System.out.println("end element"); 
     } 

     public static void main(String[] args) { 
      ReadXML handler = new ReadXML(); 

      try { 
       SAXParserFactory factory = SAXParserFactory.newInstance(); 

       SAXParser saxParser = factory.newSAXParser(); 

       saxParser.parse("student.xml", handler); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 

    } 

回答

1

我会创建一组表示包含在students.xml的数据,然后填充他们为你解析数据表。

0

您可能可以直接将XML存储到数据库中。许多数据库包都具有允许XML格式数据插入数据库相应位置的功能。我相信PostGres和MS-SQL可以做到这一点。

现有的功能可以在MySQL中执行此操作。 See here