⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolssaxparser.java

📁 JStock是一个免费股市软件
💻 JAVA
字号:
package org.yccheok.jstock.gui;

import java.io.*;
import java.util.*;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
/** Read an XML file containing the settings wrote in the following form:
 * <SETTING_NAME param1name="param1value" ... paramNname="paramNvalue"/>
 * All the settings are returned within a vector of ToolElement objetcs
 * @author: pmarrone
 */

public class ToolsSAXParser extends DefaultHandler
{
    /**
     * Logger
     * */
    private static final Log log = LogFactory.getLog(ToolsSAXParser.class);

    protected List<ToolElement> elements;

/**
 * ToolsSAXParser constructor.
 */
    public ToolsSAXParser(InputStream xmlFile) {
        // Use the default (non-validating) parser
        SAXParserFactory factory = SAXParserFactory.newInstance();
        try {
            // Parse the input
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse(xmlFile, this);

        } catch (Throwable t)
        {
            log.error ( "Problem while parsing the XML document with the SAXParser",
                        t);
        }
    }

    public void startElement (String name, String sName, String qName, Attributes attrs)
    throws SAXException
    {
        String eName = sName;
        if ("".equals(eName)) eName = qName;
        ToolElement te = new ToolElement(eName);
        if (attrs != null) {
            for (int i = 0; i < attrs.getLength (); i++) {
                String aName = attrs.getLocalName(i);
                if ("".equals(aName)) aName = attrs.getQName(i);
                te.setParam(aName, attrs.getValue(i));
            }
        log.debug ("<"+eName+"/>");
        }
        elements.add(te);
    }

    public List<ToolElement> getElements() {
        return elements;
    }

    public void startDocument() throws SAXException {
        elements = new ArrayList<ToolElement>();
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -