簡體   English   中英

使用SAX Parser解析XML文件后將數據存儲到MySQL中的最佳方法是什么?

[英]What is best approach for Storing data into MySQL after Parsing XML file using SAX Parser?

我有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();
            }
        }

    }

我將創建一組表來表示students.xml中包含的數據,然后在解析數據時填充它們。

您也許可以直接將XML存儲到數據庫中。 許多數據庫軟件包都具有允許將XML格式的數據插入數據庫中適當位置的功能。 我相信PostGres和MS-SQL可以做到。

MySQL中已有執行此操作的功能。 看這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM