`

java xsd校验xml

    博客分类:
  • xml
 
阅读更多

下面使用xsd校验xml

public class XmlValidator {
	private static String errorMsg;
	public static boolean check(String xmlFile, String xsdFile){
		boolean rs = false;		
		rs = checkXSDFormat(xmlFile, xsdFile);
		return rs;
	}
		
	/**
	 * 校验	
	 */
	private static boolean checkXSDFormat(String xmlFile, String xsdFile) {
		SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
		XSDErrorHandler errorHandler = new XSDErrorHandler();
		Validator validator = null;
		try {
			Schema schema = factory.newSchema(new File(xsdFile));
			validator = schema.newValidator();			
			validator.setErrorHandler(errorHandler);
			
		} catch (SAXParseException e) {			
			errorMsg = e.getMessage();
			return false;
		} catch (SAXException e) {			
			errorMsg = e.getMessage();
			return false;
		}		
		FileInputStream fis = null;
		try {
			fis = new FileInputStream(xmlFile);
			validator.validate(new StreamSource(fis));//new File(this.xmlFile)));
		} catch (SAXException e) {			
			errorMsg = e.getMessage();
			return false;
		} catch (IOException e) {			
			errorMsg = e.getMessage();
			return false;
		} finally {
			if(fis != null){
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		if(errorHandler.getError() != null){
			errorMsg = errorHandler.getError();
			return false;
		}
		return true;
	}
	
	public static String getError() {
		return errorMsg;
	}
}

 测试

public class XmlValidate {
	private static String xmlFile = "xml文件路径";
	private static String xsdFile = "对应的xsd文件路径";
	public static void main(String[] args) {
		System.out.println(XmlValidator.check(xmlFile, xsdFile));
		System.out.println(XmlValidator.getError());
	}
}

 

分享到:
评论

相关推荐

    前段时间做JAVA XSD校验XML时整理的JAR包

    需要其它工具包的朋友可以留下邮箱,我传其它包

    Java XSD校验工具

    可以根据XSD校验XML规则

    XSD使用dom4j校验XML

    接下来,我们来看看如何使用DOM4J来解析和校验XML文档。DOM4J提供了一种简单的方法来加载XML和XSD文件,然后使用Schema类进行校验。以下是一个基本的步骤概述: 1. 加载XSD文件:使用DOM4J的DocumentHelper类的...

    利用xsd校验xml

    在标题“利用xsd校验xml”中,我们讨论的核心是通过XML Schema(XSD)来验证XML文档是否符合预定义的模式。这个过程是确保XML数据有效性和正确性的重要步骤,特别是当XML被用作数据交换或者在复杂的系统间通信时。 ...

    castor解析xml与xsd校验xml

    3. **校验XML**:当使用Castor的`unmarshal()`方法解析XML时,如果启用了XSD校验,Castor会自动检查XML是否符合指定的XSD。如果XML不符合规范,Castor将抛出`MarshalException`。 4. **异常处理**:在代码中,需要...

    XML验证器(XSD验证XML)

    在实际应用中,XML验证器不仅限于Delphi7,其他编程环境如Java、C#等也有类似的功能。理解XML Schema和如何进行验证是任何处理XML数据的开发者必须掌握的基本技能。同时,对于大型项目,良好的XML数据验证机制也是...

    Java通过XML Schema校验XML

    ### Java通过XML Schema校验XML #### 背景与挑战 XML(可扩展标记语言)作为一种标准的数据交换格式,在Web服务、配置文件以及其他多种应用领域有着广泛的应用。随着XML的普及,对于XML数据有效性的校验变得越来越...

    jsoup 取html信息校验xml数据

    这一步骤可能涉及到XPath或XSLT,尽管这些不是JSoup内置的功能,但可以通过集成其他Java XML库(如JAXB或DOM4J)实现。 4. **转化结果为HTML**:最后,校验的结果可能以HTML的形式呈现,以便用户能以友好的格式查看...

    XML校验工具,可以用来进行XML合法性检验

    - **XSD(XML Schema Definition)校验**:通过XSD文件来校验XML文档的结构和内容是否符合预期。 - **Relax NG校验**:使用Relax NG语法来校验XML文档的结构。 - **Schematron校验**:通过Schematron规则来校验XML...

    xml文件自动转成java对象工具

    除了XSD转Java,有些工具还支持直接将XML文件转换为Java对象。这个过程涉及到XML解析,通常使用DOM(Document Object Model)、SAX(Simple API for XML)或者StAX(Streaming API for XML)等解析器。解析器读取XML...

    自动生成xsd所需的jar包

    参数`a.xml`是输入的XML文件,这个文件可能包含了XML文档结构的信息,`a.xsd`则是输出的XSD文件,即我们希望生成的目标校验文件。 TRANG的工作原理是解析输入的XML文件,分析其结构,然后生成对应的XSD文件。这样...

    java中实现xmlschema验证文件借鉴.pdf

    在Java中,XML Schema(XSD)用于定义和验证XML文档的结构和数据类型,确保文档遵循特定的规范。XML Schema文档使用XML语法定义了一系列规则,这些规则描述了有效XML文档应该具有的元素、属性、数据类型以及它们之间...

    xsd通过java验证科学计数法

    标题中的“xsd通过java验证科学计数法”指的是使用XML Schema Definition (XSD) 文件来校验XML文档中科学计数法的正确性,并通过Java编程语言实现这一过程。XSD是XML的一种标准,用于定义XML文档的结构和数据类型,...

    使用XSD校验Mybatis的SqlMapper配置文件的方法(1)

    在这个方法中,我们可以使用Java的XML解析库,如JAXB或DOM,结合定义好的XSD文件来验证XML配置。如果XML文件不符合XSD规范,这个方法应该抛出异常,从而停止解析过程并给出错误信息。 为了检测XML文件的验证模式,...

    Schema校验java

    // 解析并校验XML文件 MyXmlElement element = (MyXmlElement) unmarshaller.unmarshal(new File("path_to_your_xml.xml")); System.out.println("XML文件校验成功"); } catch (JAXBException | SAXException e...

    xmlValidate.rar

    在Java环境中,你可以通过运行这个JAR文件,将待验证的XML文档和对应的XSD文件作为参数传递,来实现XML的校验。使用命令行,其基本形式可能是: ``` java -jar xmlValidate.jar test.xml test.xsd ``` 如果XML文档...

    How to validate XML documents against Schematron rules

    3. **验证内容**:可以随时通过“验证”操作验证内容是否符合Schematron 1.5 XSD模式。 4. **外部验证**:另一种验证方法是使用“外部验证”操作,选择`schematron1-5-schema.sch`作为Schematron模式进行验证。 ![]...

    XML_JAVA指南

    通过创建`SchemaFactory`,加载XSD文件,然后使用`Validator`对XML文档进行校验。 5. **StAX(Streaming API for XML)**:与SAX类似,StAX也是事件驱动的,但提供了更底层的控制。`javax.xml.stream`包提供了StAX...

    dubbo的校验xsd文件

    在Dubbo中,`dubbo.xsd`文件是一个重要的组成部分,它是Dubbo配置的XML Schema定义文件,用于验证和解析Dubbo的XML配置文件,确保配置的正确性和规范性。 `dubbo.xsd`包含了一系列Dubbo服务的元素和属性定义,这些...

    XSD.zip_telephoneimj

    Java API for XML Processing (JAXP) 是Java处理XML的标准接口,其中的DocumentBuilderFactory和SchemaFactory类可以用来创建XML文档对象和XSD对象,然后通过Validator进行校验。 在“telephoneimj”这个特定场景下...

Global site tag (gtag.js) - Google Analytics