【问题标题】:What is best approach for Storing data into MySQL after Parsing XML file using SAX Parser?使用 SAX 解析器解析 XML 文件后将数据存储到 MySQL 的最佳方法是什么?
【发布时间】:2009-10-12 20:36:19
【问题描述】:

我有 student.xml 文件,并且正在使用 SAX Parser 解析这个文件,现在我需要将数据存储到 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();
            }
        }

    }

【问题讨论】:

    标签: java mysql xml parsing


    【解决方案1】:

    我将创建一组表来表示students.xml 中包含的数据,然后在您解析数据时填充它们。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-07
        • 2012-08-27
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 2011-04-30
        • 2010-09-14
        • 2013-08-28
        相关资源
        最近更新 更多