wcsparserbase.java

来自「esri的ArcGIS Server超级学习模板程序(for java)」· Java 代码 · 共 64 行

JAVA
64
字号
/**
 * 
 */
package com.esri.solutions.jitk.datasources.ogc.wcs.parsing;

import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;

import com.esri.solutions.jitk.datasources.exceptions.ResponseParsingException;

/**
 * @author vlad2928
 *
 */
public abstract class WCSParserBase extends DefaultHandler {

	protected String version;
	protected StringBuffer _characters;
	
	public String getVersion() {
		return version;
	}
	
	public void parse(InputStream is, DefaultHandler handler) throws ResponseParsingException {
		
		try {
			SAXParserFactory factory = SAXParserFactory.newInstance();
			factory.setNamespaceAware(false);
			factory.setValidating(false);
	        
			InputSource inputSource = new InputSource(is);
			inputSource.setEncoding("UTF-8");
	        
			factory.newSAXParser().parse(inputSource, handler);
		
		} catch(ParserConfigurationException e) {
			throw new ResponseParsingException(e.toString());
		
		} catch(SAXException e) {
			throw new ResponseParsingException(e.toString());
		
		} catch(IOException e) {
			throw new ResponseParsingException(e.toString());
		}
	}
	
	@Override
	public void characters(char[] ch, int start, int length) throws SAXException {
		if(_characters != null && (ch != null) && (length > 0)) {
			_characters.append(ch, start, length);
		}
	}
	
	@Override
	public void warning(SAXParseException e) throws SAXException {}
}

⌨️ 快捷键说明

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