当前位置: 首页>>代码示例>>Java>>正文


Java SAXReader.setEntityResolver方法代码示例

本文整理汇总了Java中org.dom4j.io.SAXReader.setEntityResolver方法的典型用法代码示例。如果您正苦于以下问题:Java SAXReader.setEntityResolver方法的具体用法?Java SAXReader.setEntityResolver怎么用?Java SAXReader.setEntityResolver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.dom4j.io.SAXReader的用法示例。


在下文中一共展示了SAXReader.setEntityResolver方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadXmlFile

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
private XmlNode loadXmlFile( String agent, String filePath ) {

        // load the file as a String
        String fileContent = loadFileContent(agent, filePath);

        try {
            SAXReader reader = new SAXReader();

            // following code prevents dom4j from running DTD XML validation
            reader.setEntityResolver(new EntityResolver() {

                @Override
                public InputSource resolveEntity( String publicId, String systemId ) throws SAXException,
                                                                                     IOException {

                    return new InputSource(new StringReader(""));
                }
            });

            // load XML document
            Document xmlDocument = reader.read(new StringReader(fileContent));
            return new XmlNode(null, xmlDocument.getRootElement());
        } catch (XMLException | DocumentException e) {
            throw new XMLException("Error parsing XML file: " + filePath, e);
        }
    }
 
开发者ID:Axway,项目名称:ats-framework,代码行数:27,代码来源:XmlFileSnapshot.java

示例2: legacyReadMappingDocument

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
private XmlDocument legacyReadMappingDocument(EntityResolver entityResolver, InputSource source, Origin origin) {
	// IMPL NOTE : this is the legacy logic as pulled from the old AnnotationConfiguration code

	Exception failure;

	ErrorLogger errorHandler = new ErrorLogger();

	SAXReader saxReader = new SAXReader();
	saxReader.setEntityResolver( entityResolver );
	saxReader.setErrorHandler( errorHandler );
	saxReader.setMergeAdjacentText( true );
	saxReader.setValidation( true );

	Document document = null;
	try {
		// first try with orm 2.1 xsd validation
		setValidationFor( saxReader, "orm_2_1.xsd" );
		document = saxReader.read( source );
		if ( errorHandler.hasErrors() ) {
			throw errorHandler.getErrors().get( 0 );
		}
		return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
	}
	catch ( Exception e ) {
		if ( LOG.isDebugEnabled() ) {
			LOG.debugf( "Problem parsing XML using orm 2.1 xsd, trying 2.0 xsd : %s", e.getMessage() );
		}
		failure = e;
		errorHandler.reset();

		if ( document != null ) {
			// next try with orm 2.0 xsd validation
			try {
				setValidationFor( saxReader, "orm_2_0.xsd" );
				document = saxReader.read( new StringReader( document.asXML() ) );
				if ( errorHandler.hasErrors() ) {
					errorHandler.logErrors();
					throw errorHandler.getErrors().get( 0 );
				}
				return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
			}
			catch ( Exception e2 ) {
				if ( LOG.isDebugEnabled() ) {
					LOG.debugf( "Problem parsing XML using orm 2.0 xsd, trying 1.0 xsd : %s", e2.getMessage() );
				}
				errorHandler.reset();

				if ( document != null ) {
					// next try with orm 1.0 xsd validation
					try {
						setValidationFor( saxReader, "orm_1_0.xsd" );
						document = saxReader.read( new StringReader( document.asXML() ) );
						if ( errorHandler.hasErrors() ) {
							errorHandler.logErrors();
							throw errorHandler.getErrors().get( 0 );
						}
						return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
					}
					catch ( Exception e3 ) {
						if ( LOG.isDebugEnabled() ) {
							LOG.debugf( "Problem parsing XML using orm 1.0 xsd : %s", e3.getMessage() );
						}
					}
				}
			}
		}
	}
	throw new InvalidMappingException( "Unable to read XML", origin.getType(), origin.getName(), failure );
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:70,代码来源:MappingReader.java

示例3: CreateBaseModelFromXml

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
public CreateBaseModelFromXml() throws DocumentException {
	iSAXReader = new SAXReader();
	iSAXReader.setEntityResolver(iEntityResolver);
}
 
开发者ID:Jenner4S,项目名称:unitimes,代码行数:5,代码来源:CreateBaseModelFromXml.java

示例4: LowercaseTableNames

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
public LowercaseTableNames() throws DocumentException, SAXException {
	iSAXReader = new SAXReader();
	iSAXReader.setEntityResolver(iEntityResolver);
	iSAXReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
}
 
开发者ID:Jenner4S,项目名称:unitimes,代码行数:6,代码来源:LowercaseTableNames.java

示例5: afterPropertiesSet

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
@Override
public void afterPropertiesSet() throws Exception {
	try {
		String menu = ApplicationProperty.MenuFile.value();
		Document document = null;
        URL menuUrl = ApplicationProperties.class.getClassLoader().getResource(menu);
        SAXReader sax = new SAXReader();
        sax.setEntityResolver(new EntityResolver() {
        	public InputSource resolveEntity(String publicId, String systemId) {
        		if (publicId.equals("-//UniTime//UniTime Menu DTD/EN")) {
        			return new InputSource(ApplicationProperties.class.getClassLoader().getResourceAsStream("menu.dtd"));
        		}
        		return null;
        	}
        });
        if (menuUrl!=null) {
            sLog.info("Reading menu from " + URLDecoder.decode(menuUrl.getPath(), "UTF-8") + " ...");
            document = sax.read(menuUrl.openStream());
        } else if (new File(menu).exists()) {
            sLog.info("Reading menu from " + menu + " ...");
            document = sax.read(new File(menu));
        }
        if (document==null)
            throw new ServletException("Unable to create menu, reason: resource " + menu + " not found.");

        if (!"unitime-menu".equals(document.getRootElement().getName())) throw new ServletException("Menu has an unknown format.");
        iRoot = document.getRootElement();
        
        String customMenu = ApplicationProperty.CustomMenuFile.value();
		Document customDocument = null;
        URL customMenuUrl = ApplicationProperties.class.getClassLoader().getResource(customMenu);
        if (customMenuUrl!=null) {
        	sLog.info("Reading custom menu from " + URLDecoder.decode(customMenuUrl.getPath(), "UTF-8") + " ...");
            customDocument = sax.read(customMenuUrl.openStream());
        } else if (new File(customMenu).exists()) {
        	sLog.info("Reading custom menu from " + customMenu + " ...");
            customDocument = sax.read(new File(customMenu));
        }
        if (customDocument != null) {
        	merge(iRoot, customDocument.getRootElement());
        }
        
	} catch (Exception e) {
		if (e instanceof RuntimeException) throw (RuntimeException)e;
		throw new RuntimeException("Unable to initialize, reason: "+e.getMessage(), e);
	}
}
 
开发者ID:Jenner4S,项目名称:unitimes,代码行数:48,代码来源:MenuBackend.java

示例6: createSAXReader

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
/**
 * @param errorHandler the sax error handler
 * @param entityResolver an xml entity resolver
 *
 * @return Create and return a dom4j {@code SAXReader} which will append all validation errors
 *         to the passed error list
 */
public SAXReader createSAXReader(ErrorHandler errorHandler, EntityResolver entityResolver) {
	SAXReader saxReader = resolveSAXReader();
	saxReader.setEntityResolver( entityResolver );
	saxReader.setErrorHandler( errorHandler );
	return saxReader;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:XMLHelper.java


注:本文中的org.dom4j.io.SAXReader.setEntityResolver方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。