`
caoxiaohui
  • 浏览: 13648 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过xsd校验数据正确性

    博客分类:
  • java
阅读更多
/**
	 * 通过xsd校验数据正确性
	 *
	 */
	public static void validateXMLByXSD() {
		String xmlFileName = "D:\\test.xml";
		String xsdFileName = "D:\\test.xsd";
		try {
			// 创建默认的XML错误处理器
			XMLErrorHandler errorHandler = new XMLErrorHandler();
			// 获取基于 SAX 的解析器的实例
			SAXParserFactory factory = SAXParserFactory.newInstance();
			// 解析器在解析时验证 XML 内容。
			factory.setValidating(true);
			// 指定由此代码生成的解析器将提供对 XML 名称空间的支持。
			factory.setNamespaceAware(true);
			// 使用当前配置的工厂参数创建 SAXParser 的一个新实例。
			SAXParser parser = factory.newSAXParser();
			// 创建一个读取工具
			SAXReader xmlReader = new SAXReader();
			// 获取要校验xml文档实例
			Document xmlDocument = (Document) xmlReader.read(new File(
					xmlFileName));
			// 设置 XMLReader 的基础实现中的特定属性。核心功能和属性列表可以在
			// [url]http://sax.sourceforge.net/?selected=get-set[/url] 中找到。
			parser.setProperty(
					"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
					"http://www.w3.org/2001/XMLSchema");
			parser.setProperty(
					"http://java.sun.com/xml/jaxp/properties/schemaSource",
					"file:" + xsdFileName);
			// 创建一个SAXValidator校验工具,并设置校验工具的属性
			SAXValidator validator = new SAXValidator(parser.getXMLReader());
			// 设置校验工具的错误处理器,当发生错误时,可以从处理器对象中得到错误信息。
			validator.setErrorHandler(errorHandler);
			// 校验
			validator.validate(xmlDocument);
			OutputFormat format = OutputFormat.createPrettyPrint();
			format.setEncoding("utf-8");
			format.setEncoding("GBK");

			XMLWriter writer = new XMLWriter(format);
			// 如果错误信息不为空,说明校验失败,打印错误信息
			if (errorHandler.getErrors().hasContent()) {
				System.out.println("XML文件通过XSD文件校验失败!");
				writer.write(errorHandler.getErrors());
			} else {
				System.out.println("Good! XML文件通过XSD文件校验成功!");
			}
		} catch (Exception ex) {
			System.out.println("XML文件: " + xmlFileName + " 通过XSD文件:"
					+ xsdFileName + "检验失败。\n原因: " + ex.getMessage());
			ex.printStackTrace();
		}

	}

 

分享到:
评论

相关推荐

    利用xsd校验xml

    这个过程是确保XML数据有效性和正确性的重要步骤,特别是当XML被用作数据交换或者在复杂的系统间通信时。 首先,我们需要理解XML Schema的基本概念。XSD文件定义了XML文档的元素、属性、数据类型以及它们之间的关系...

    castor解析xml与xsd校验xml

    在实际应用中,`CastorTest`可能是一个包含测试代码的文件,用于验证上述过程的正确性。通过编写单元测试,你可以确保XML解析和校验功能按预期工作。 总结来说,Castor结合XSD提供了强大的XML处理能力,能够简化XML...

    XML验证器(XSD验证XML)

    XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...

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

    XML校验对于确保XML文档的正确性和一致性至关重要。校验过程可以检查文档是否符合预定义的结构和语法规则,这对于保证数据的准确性和完整性极为重要。特别是当XML文档被用于不同系统之间的数据交换时,校验可以避免...

    ctais外围接口xsd

    7. **测试与调试**:开发过程中,XSD文件的变更和接口的调整需要通过详尽的测试来验证其正确性。这包括单元测试、集成测试以及性能测试,确保接口的稳定性和效率。 综上所述,CTAIS外围接口XSD是连接CTAIS系统与...

    dubbo的校验xsd文件

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

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

    总的来说,通过覆盖和扩展SqlSessionFactoryBean,我们可以实现对SqlMapper配置文件的XSD校验,提高配置文件的准确性和系统的稳定性。这是一项非常实用的优化,尤其是在大型项目中,它可以减少由于配置错误导致的...

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

    在前一篇文章中,我们可能已经学习了初步的方法,但本文将介绍更具体的步骤和策略,以确保配置文件的正确性和可扩展性。 首先,XSD文件是一种用于定义XML文档结构和数据类型的规范,它可以帮助我们验证XML文件是否...

    xsd通过java验证科学计数法

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

    Java通过XML Schema校验XML

    3. **设置校验器**:通过`SAXValidator`类设置XSD校验器,并与`SAXReader`关联。 4. **执行校验**:通过调用`SAXReader.read()`方法读取XML文件,同时进行校验。如果XML文件不符合XSD定义的模式,则会抛出异常。 ##...

    spring-tool-4.2.xsd.zip

    XSD(XML Schema Definition)文件在Spring框架中起着至关重要的作用,它定义了Spring配置文件的结构和约束,确保XML配置的正确性。 描述中提到的"压缩包内含有该文件所对应的URI",这可能指的是Spring框架中用于...

    xmlValidate.rar

    XML文档的结构严谨,为了确保其正确性和有效性,通常会使用XML校验工具来验证XML文档是否符合预定义的XML Schema(XSD)规范。"xmlValidate.rar" 是一个压缩包,包含了XML校验相关的工具和资源,便于用户进行XML报文...

    通过Schema验证XML格式是否正确

    XSD文件使用XML语法来创建,可以指定元素、属性、数据类型、顺序和重复性等约束。 2. **XML文档验证**:在处理XML数据时,验证是非常重要的一步,确保数据符合预先设定的规则。通过Schema验证,可以检查XML文档是否...

    dubbo的xsd文件

    总结来说,`dubbo.xsd`是Dubbo配置体系的重要组成部分,它为Dubbo服务的配置提供了标准化的结构和规则,确保了配置文件的正确性和一致性。理解和掌握`dubbo.xsd`的使用,对于提升Dubbo服务的管理效率和稳定性具有至...

    dubbo的约束文件.xsd

    通过XSD,我们可以验证XML文档是否符合预设的规则,从而保证数据的正确性。 二、dubbo.xsd概述 Dubbo的`dubbo.xsd`文件,全称为"Dubbo配置scheme文件",其URI为"http://code.alibabatech.com/schema/dubbo",是...

    schema校验问题

    当提到“schema校验问题”,通常意味着在尝试将XML文档与指定的XSD模式进行匹配时,出现了错误或不兼容性。 描述中的“NULL”表明没有提供具体的错误描述或情境,但我们可以从一般的角度来探讨XML Schema验证可能...

    schema校验所需要的jar包

    在IT行业中,尤其是在软件开发和数据处理领域,schema校验是一项至关重要的任务。...在实际开发中,当接收到XML输入或者需要保证XML数据结构正确时,可以调用这些库提供的API来进行校验,提高程序的健壮性。

    XMLSpy使用说明及技巧

    * XMLSpyEnt只显示xml文件中的第一个Schema校验错误位置,如检查xml文件中是否还含有其他错误,请将出现错误的位置修改正确,然后在点击Validate图标,进行Schema校验,以此类推,直至该xml文件的Schema校验正确。...

    XMLTool xml文件小工具

    总之,XMLTool是一个面向XML文件操作的便捷工具,它简化了XML数据的管理,并提供了校验功能以确保数据的正确性。对于初次接触XML或需要快速处理XML数据的人来说,这是一个非常实用的工具。通过学习和使用XMLTool,...

Global site tag (gtag.js) - Google Analytics