经常会用到xml文件,但是不知道xml文件是否符合对应的xsd约束,下面粘贴出来验证的方法:
xsd文件约束xml,测试xml是否符合规范(附件为xml文件盒xsd文件)
package utlis; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; import org.xml.sax.SAXException; /** * @author changpan * @desc:深圳供需平台 * Jun 7, 2013 */ public class ValidateXMLUtils { /** * 根据xsd文件验证xml文件是否符合规则 * @param xsdpath * @param xmlpath * @return * @throws SAXException * @throws IOException */ public static Map<String,Object> Validatexml(String xmlpath,String xsdpath) throws SAXException,IOException{ Map<String,Object> result = new HashMap<String,Object>(); //建立schema工厂 SchemaFactory schemaFactory=SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); //建立验证文档文件对象,利用此文件对象所封装的文件进行schema验证 File schemaFile=new File(xsdpath); //利用schema工厂,接收验证文档文件对象生成Schema对象 Schema schema=schemaFactory.newSchema(schemaFile); //通过Schema产生针对于此Schema的验证器,利用schenaFile进行验证 Validator validator=schema.newValidator(); //得到验证的数据源 Source source=new StreamSource(xmlpath); //开始验证,成功输出success!!!,失败输出fail try{ validator.validate(source); result.put("status", 1); result.put("message", "数据校验成功"); return result; }catch(Exception ex){ String error=ex.getMessage(); error = error.substring(error.indexOf("valid.1.2.1:")+12,error.length()); result.put("status", 0); result.put("message", error); return result; } } public static void main(String[] args) { String xsdpath="C:\\Users\\Administrator\\workspace_1\\jcjg\\supervision\\utlis\\objinfo.xsd"; String xmlpath="C:\\Users\\Administrator\\workspace_1\\jcjg\\supervision\\utlis\\objinfo.xml"; try { Map<String, Object> validatexml = Validatexml(xmlpath,xsdpath); System.out.println(validatexml);//{message=数据校验成功, status=1} } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
7. **测试与部署**:完成开发后,进行详尽的测试,包括功能测试、性能测试和兼容性测试,确保应用在不同环境下的正常运行。最后,将应用程序打包并部署到目标环境中,供用户使用。 总之,这个项目涉及到C#编程、...
SXD-Document Rust中的XML库。 概述目前,该项目分为两类:文档-基本DOM操作和读/写X SXD-Document Rust中的XML库。 概述该项目目前分为两个板条箱:文档-基本DOM操作和从字符串读取/写入XML。 xpath-XPath 1.0...
会生成错误sxd的xml文档,
本篇将围绕"SXD28035A_dsp_"这一主题,结合提供的压缩包文件,深入探讨DSP28035的核心特性、编程模型以及实际应用。 1. **DSP28035概述** DSP28035是TI公司推出的一款32位浮点型处理器,它集成了丰富的外设和高...
"fig2sxd"正是这样一款开源工具,它专为图形文件格式转换而设计,尤其是将xfig格式的文件转化为OpenOffice.org或LibreOffice.org Draw所支持的格式,极大地拓展了用户在文档编辑中的图形处理能力。 xfig是一款历史...
在压缩包文件“sxd-html-master”中,可能包含了项目的源代码、示例、测试用例以及相关的文档。通过阅读源代码,开发者可以深入理解如何在Rust项目中集成html5ever和XPath,以便在自己的应用中实现类似的功能。测试...
标题中的“sxd.rar_74ls164_sxd”暗示了这是一个关于电子工程的项目,特别是与74LS164芯片相关的应用。74LS164是一款8位串行输入/并行输出的移位寄存器,常用于数字电路设计中,特别是在显示驱动或数据移位场合。在...
《玻尔电子护卫舰版之SXD28335_QFP软件例程》是一份专为学习Texas Instruments(TI)公司生产的数字信号处理器(DSP)TMS320F28335设计的软件开发教程。这个教程包含了一系列的源代码示例,旨在帮助用户深入理解和...
SXD-XPath Rust中的XML XPath库。 概述项目分为两部分:文档-基本DOM操作和从SXD-XPath读取/写入XML Rust中的XML XPath库。 概述项目分为两部分:文档-基本DOM操作和从字符串读取/写入XML。 xpath-XPath 1.0表达式的...
通过分析 SXD28035A 示例代码,可以学习到 DSP 28035 在实际应用中的编程技巧,例如中断服务例程、硬件外设的驱动编写以及浮点运算的实现等。 **总结** DSP 28035 是一个强大而灵活的处理器,适用于需要高速浮点...
玻尔电子宙斯盾板SXD28335B_QFP电路原理图是一款基于德州仪器(Texas Instruments, TI)的32位Delfino系列微控制器TMS320F28335的开发板电路原理图。TMS320F28335是一款广泛应用于工业控制的高性能浮点微处理器,...
这个压缩包文件的标题和描述指向了一个特定的电子项目,涉及到一款名为"玻尔电子护卫舰版"的硬件平台,以及其使用的微控制器SXD28335。SXD28335是一款常见的微处理器或微控制器,它通常集成了CPU、存储器、输入/输出...
dubbo.xsd下载 dubbo 标签不错,亲测可用,下载之后添加.xsd文件约束就不报错了。
发电机典型事故案例sxd .ppt
该手册的主要内容围绕着如何使用SXD28335B开发板进行各项实验与测试,其中涉及的主要技术点和知识点如下: 1. GPIO控制LED及蜂鸣器实验:这涉及到基本的输入输出(GPIO)操作,通过GPIO控制LED灯的亮灭以及蜂鸣器的...
康耐德C2000-A1-SXD0020-BX3使用说明书 本문档為康耐德C2000-A1-SXD0020-BX3使用说明书,旨在指导用户正确使用康耐德C2000-A1-SXD0020-BX3产品。该产品是一款Ethernet→2DO遠端I/O模块,具有DO控制、远程I/O模块等...
标题中的"csisco.bin"可能是指Cisco的某种特定配置或操作系统镜像文件,可能是用于网络设备模拟或教学的。在IT行业中,Cisco是一家知名的网络设备制造商,其产品广泛应用于企业级网络,数据中心以及互联网基础设施。...
sxd-personnel-admin-1.020231106.zipactivity