/**
* 通过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();
}
}
分享到:
相关推荐
这个过程是确保XML数据有效性和正确性的重要步骤,特别是当XML被用作数据交换或者在复杂的系统间通信时。 首先,我们需要理解XML Schema的基本概念。XSD文件定义了XML文档的元素、属性、数据类型以及它们之间的关系...
在实际应用中,`CastorTest`可能是一个包含测试代码的文件,用于验证上述过程的正确性。通过编写单元测试,你可以确保XML解析和校验功能按预期工作。 总结来说,Castor结合XSD提供了强大的XML处理能力,能够简化XML...
XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...
XML校验对于确保XML文档的正确性和一致性至关重要。校验过程可以检查文档是否符合预定义的结构和语法规则,这对于保证数据的准确性和完整性极为重要。特别是当XML文档被用于不同系统之间的数据交换时,校验可以避免...
7. **测试与调试**:开发过程中,XSD文件的变更和接口的调整需要通过详尽的测试来验证其正确性。这包括单元测试、集成测试以及性能测试,确保接口的稳定性和效率。 综上所述,CTAIS外围接口XSD是连接CTAIS系统与...
在Dubbo中,`dubbo.xsd`文件是一个重要的组成部分,它是Dubbo配置的XML Schema定义文件,用于验证和解析Dubbo的XML配置文件,确保配置的正确性和规范性。 `dubbo.xsd`包含了一系列Dubbo服务的元素和属性定义,这些...
总的来说,通过覆盖和扩展SqlSessionFactoryBean,我们可以实现对SqlMapper配置文件的XSD校验,提高配置文件的准确性和系统的稳定性。这是一项非常实用的优化,尤其是在大型项目中,它可以减少由于配置错误导致的...
在前一篇文章中,我们可能已经学习了初步的方法,但本文将介绍更具体的步骤和策略,以确保配置文件的正确性和可扩展性。 首先,XSD文件是一种用于定义XML文档结构和数据类型的规范,它可以帮助我们验证XML文件是否...
标题中的“xsd通过java验证科学计数法”指的是使用XML Schema Definition (XSD) 文件来校验XML文档中科学计数法的正确性,并通过Java编程语言实现这一过程。XSD是XML的一种标准,用于定义XML文档的结构和数据类型,...
3. **设置校验器**:通过`SAXValidator`类设置XSD校验器,并与`SAXReader`关联。 4. **执行校验**:通过调用`SAXReader.read()`方法读取XML文件,同时进行校验。如果XML文件不符合XSD定义的模式,则会抛出异常。 ##...
XSD(XML Schema Definition)文件在Spring框架中起着至关重要的作用,它定义了Spring配置文件的结构和约束,确保XML配置的正确性。 描述中提到的"压缩包内含有该文件所对应的URI",这可能指的是Spring框架中用于...
XML文档的结构严谨,为了确保其正确性和有效性,通常会使用XML校验工具来验证XML文档是否符合预定义的XML Schema(XSD)规范。"xmlValidate.rar" 是一个压缩包,包含了XML校验相关的工具和资源,便于用户进行XML报文...
XSD文件使用XML语法来创建,可以指定元素、属性、数据类型、顺序和重复性等约束。 2. **XML文档验证**:在处理XML数据时,验证是非常重要的一步,确保数据符合预先设定的规则。通过Schema验证,可以检查XML文档是否...
总结来说,`dubbo.xsd`是Dubbo配置体系的重要组成部分,它为Dubbo服务的配置提供了标准化的结构和规则,确保了配置文件的正确性和一致性。理解和掌握`dubbo.xsd`的使用,对于提升Dubbo服务的管理效率和稳定性具有至...
通过XSD,我们可以验证XML文档是否符合预设的规则,从而保证数据的正确性。 二、dubbo.xsd概述 Dubbo的`dubbo.xsd`文件,全称为"Dubbo配置scheme文件",其URI为"http://code.alibabatech.com/schema/dubbo",是...
当提到“schema校验问题”,通常意味着在尝试将XML文档与指定的XSD模式进行匹配时,出现了错误或不兼容性。 描述中的“NULL”表明没有提供具体的错误描述或情境,但我们可以从一般的角度来探讨XML Schema验证可能...
在IT行业中,尤其是在软件开发和数据处理领域,schema校验是一项至关重要的任务。...在实际开发中,当接收到XML输入或者需要保证XML数据结构正确时,可以调用这些库提供的API来进行校验,提高程序的健壮性。
* XMLSpyEnt只显示xml文件中的第一个Schema校验错误位置,如检查xml文件中是否还含有其他错误,请将出现错误的位置修改正确,然后在点击Validate图标,进行Schema校验,以此类推,直至该xml文件的Schema校验正确。...
总之,XMLTool是一个面向XML文件操作的便捷工具,它简化了XML数据的管理,并提供了校验功能以确保数据的正确性。对于初次接触XML或需要快速处理XML数据的人来说,这是一个非常实用的工具。通过学习和使用XMLTool,...