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

📄 staxelementparser.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.datasources.ogc.wfs.parsing.stax;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;

//import org.apache.log4j.Logger;


public class StaxElementParser {
	//private static final Logger _logger = Logger.getLogger(StaxElementParser.class);
	private Map<String, IElementParser> _delegateParsers;
   
    public StaxElementParser() {
    	_delegateParsers = new HashMap<String, IElementParser>();
    }
    
    public void registerParser(String elementName, IElementParser parser) {
    	_delegateParsers.put(elementName, parser);
    }
    
    public void parse(InputStream is) throws XMLStreamException, ParsingException {
		XMLInputFactory xmlif = XMLInputFactory.newInstance();
		XMLEventReader xmler = xmlif.createXMLEventReader(is);
		XMLEvent event;
		
		while (xmler.hasNext()) {
			event = xmler.nextEvent();
			
			if (event.isStartElement()) {
				String elementName = event.asStartElement().getName().getLocalPart();
				//_logger.debug("Element " + elementName + " encountered");
				
				if (_delegateParsers.containsKey(elementName)) {
            		//_logger.debug(elementName + " encountered, delegating parsing");
					IElementParser parser = (IElementParser) _delegateParsers.get(elementName);
            		parser.parse(xmler, event);
            	} 
			} 
		}		
    }
}

⌨️ 快捷键说明

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