验证xml--xsd和dtd

XML验证器(XSD验证XML) XML验证器(XSD验证XML)附Delphi7源码 http://blog.youkuaiyun.com/akof1314/article/details/6860264 有介绍 立即下载

原文:http://blog.chinaunix.net/space.php?uid=276853&do=blog&id=366491

关于XML的验证一点实践

1)此方法是在XML文档中绑定对应的DTD文件来进行的

//部分程序代码如下:

//为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

    dbf.setValidating(true);//设置验证有效

    MyHandler handler = new MyHandler();//处理验证的类,具体在下

    DocumentBuilder db = dbf.newDocumentBuilder(); 

    db.setErrorHandler(handler);

    Document doc = null;

doc = db.parse(new File(filename));//要验证的XML文件放入验证

      if (handler.errorMessage == null) {

        System.out.println("XML文件是有效的");

      }

      else {

        System.out.println("XML文件不是有效的");

        return false;

      }

class MyHandler extends DefaultHandler {

    String errorMessage = null;

    public void error(SAXParseException e) throws SAXException {

      errorMessage = e.getMessage();

      System.out.println("一般错误:" + errorMessage);

    }

    public void fatalError(SAXParseException e) throws SAXException {

      errorMessage = e.getMessage();

      System.out.println("致命错误:" + errorMessage);

    }

}

说明: XML文档中若根元素含有属性如下:

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE Apply SYSTEM "e:/gzwl/transport/hpdi_exmnl_exch/Apply.dtd">//dtd路径设置

<Apply xmlns="un:hpedi_ex_mnl">//属性名为xmlns

<AppInfo>…..

则在DTD中要增加设置为:

<!ELEMENT Apply (AppInfo?, ImpList?, ExpList?)>//这是某根元素含列表

<!ATTLIST Apply xmlns CDATA #REQUIRED>//这个才是根元素属性设置

 

2)另外方法是:采用DOM4J来做,就不需要在具体XML文件中绑定XSD模式文件了。(推荐)

先当然是要添加Dom4j.jar包到项目路径中,再在具体java文件中import相关类

其中XSD验证部分代码如下:

XMLErrorHandler  errorHandler = new XMLErrorHandler();
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setValidating(true);//注意要设置有效,否则后面验证无用
    factory.setNamespaceAware(true);//XSD中有命名空间设置
    SAXParser parser = factory.newSAXParser();
    SAXReader xmlReader = new SAXReader();   
    Document documentObject = (Document) xmlReader.read(new File(filename));//filename是对应符合XSD模式的具体xml文件绝对路径名
   String xsdpathfile = "e:\\schemaexample\\example.xsd";//xsdPathfile是绝对路径名
    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:" + xsdpathfile);
    SAXValidator validator = new SAXValidator(parser.getXMLReader());
    validator.setErrorHandler(errorHandler);
    validator.validate(documentObject);
    XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
    if (errorHandler.getErrors().hasContent()) {
             writer.write(errorHandler.getErrors());
             return false;
       } else {
             System.out.println("validate success.");
             return true;
      }

   .....
当然还可以使用Jdom来做,如果熟悉的话。

使用SAXParser(SAXParserFactory.newInstance())验证XML文件格式---XSD NULL 博文链接:https://wenhai.iteye.com/blog/563416 立即下载

相关推荐

6、xsd验证xml文件的java代码

NULL 博文链接:https://nickfover.iteye.com/blog/2155663

使用xsd验证xml格式的正确性

3.该方式验证xml格式正确性,轻代码重xsd配置,但也有好处,当xml格式发生改变时,无需修改代码,只需要对应修改xsd即可,且相对代码来说,易上手。

qq_37016994的博客 4575

基于DTD实现XML文档的有效性验证

(1)通过实验,进一步理解掌握DTD的语法规则,能够编写正确的DTD文档。 (2)通过实验,进一步理解应用DTD对XML文档进行验证的原理和方法。 (3)通过实验,进一步掌握在XML SPY中应用DTD验证XML文档有效性的方法。 (4)通过实验,学会利用标准DOM接口,编写Java程序实现基于DTD对XML文档的有效性验证。

xsd文件_针对Java中的XSD验证XML

xsd文件 有许多工具可用于根据XSD验证XML文档。 其中包括操作系统脚本和工具,例如xmllint ,XML编辑器和IDE,甚至是在线验证器。 由于前面提到的方法的局限性或问题,我发现拥有自己的易于使用的XML验证工具很有用。 Java使编写这样的工具变得容易,并且这篇文章演示了用Java开发简单的XML验证工具是多么容易。 本文中开发的Java工具需要JDK8。但是,可以很容易地修改简单...

cunfen8879的博客 849

验证XSD和XML文件的小工具

验证xml文件与xsd是否匹配

SSD性能测试进阶:用fio的io_uring引擎榨干你的NVMe硬盘

本文深入探讨了如何利用fio的io_uring引擎对NVMe SSD进行深度性能测试。通过对比传统libaio引擎,详解了io_uring低开销、高并发的优势。文章提供了从测试矩阵设计、队列深度分析到写入放大观察和尾延迟可视化的完整进阶方法,并附有实战案例与脚本,旨在帮助用户科学压榨NVMe硬盘的极限性能,获取更真实的评估数据。

weixin_29247219的博客 326

XML解析 验证之XSD和DTD验证以及 SpringXML验证源码分析

1.DTD(Documnet Type Definition) DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。 DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。 一个 DTD文档包含: 元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规...

大佛拈花的博客 1190

SpringAi 通过大模型来实现调用自己的Api

摘要 本文介绍了如何利用Spring AI的Tools机制扩展大模型能力,实现业务系统集成。通过@Tool和@ToolParam注解定义工具方法,将订单查询和关闭功能暴露给大模型调用。关键实现包括:1)使用详细描述标注工具方法和参数;2)在ChatClient中注册工具服务;3)集成对话记忆保持上下文。该方法使AI具备操作业务系统的能力,形成"认知-决策-执行"闭环,大幅提升了模型在实际业务场景中的应用价值。

又要搬砖了 836

xml解析请求DTD错误的解决办法(断网服务器下):org.xml.sax.SAXParseExceptionpublicId

最近我的web程序部署到一台新的服务器(这是台无法访问网络的服务器),启动时总是报解析XML错误,说某个jar包里的XML文件不可用的错误:xml] is invalid 原来这是因为解析XML文件的时候校验dtd失效,因为我的XML里对xsd文件引用都是http路径的网络资源文件,而在断网情况下http请求失败,所以导致无法下载xsd文件而无法解析xml 经过一番百度、google,终于

lizhikang2009的博客 1万+

【AI 编程工具】Codex配置部署指南

目录一、环境准备与基础安装1. 系统兼容性检查2. 前置依赖安装3. 安装方式选择二、API密钥配置与认证1. 获取API密钥2. 配置文件设置3. 临时配置方式三、沙盒环境配置与安全策略1. 沙盒模式选择2. 安全最佳实践四、高级功能配置1. 模型上下文协议(MCP)配置2. 模型版本切换3. 自定义网关配置五、常见问题排查1. 安装失败2. API调用失败3. 处理速度慢4. 配置文件不生效六、生产环境部署建议macOS/Linux:官方提供稳定支持,推荐使用原生环境Windows:官方标注为实验性支持

以实战经验介绍行业知识 2886

RK3568平台YOLO11模型部署实战:从环境搭建、模型转换到板端性能优化全解析

摘要: 本文详细介绍了在RK3568平台上从零部署YOLO11模型的完整流程。主要内容包括:1) 基于Conda搭建Python 3.8开发环境并安装RKNN-Toolkit2工具链;2) 使用LabelImg工具标注数据并构建YOLO格式数据集;3) 基于Ultralytics框架进行YOLO11模型训练及参数优化;4) 实现PyTorch→ONNX→RKNN的完整模型转换链。文章特别针对RK3568平台的NPU特性提供了关键参数配置建议,并分享了实际开发中的经验总结,最终可达到30FPS的稳定推理性能。

LXY_LOVE36的博客 279

php怎样用我的xsd文件验证我的xml文件,具体介绍使用xsd验证xml的代码分享

Xsd结构定义( XML Schemas Definition )XML Schema是DTD的替代品。XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的 结构和内容,并可据此检查一个XML文档是否是有效的。XM...

weixin_42436482的博客 432

在 Eclipse 中接入 DeepSeek:开启 Java 开发新效率

DeepSeek 能够根据自然语言描述,精准生成高质量的 Java 代码片段。无论是简单的方法编写,比如 “编写一个 Java 方法,用于计算两个整数的乘积”,还是复杂的类和功能模块创建,例如 “创建一个 Java 类,实现文件的读写操作,并包含异常处理机制”,它都能快速给出合理且可运行的代码示例。DeepSeek 生成的代码不仅实现了基本功能,还遵循 Java 的编码规范,添加了必要的注释,让代码更易于理解和维护,大大节省了开发者从头编写代码的时间和精力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4066

XML的验证模式之DTD和XSD

文章目录验证模式的作用DTD和XSD的区别DTDxsd 验证模式的作用 保证了XML文件的正确性,包括节点的名称,顺序,和节点的属性,都可做约束,我们可以根据DTD和XSD的命名空间路径直接粘贴到浏览器就可以获得对应的约束文档,约束文档对XML文件来说是可有可无的。 DTD和XSD的区别 DTD DTD(Document Type Definition)即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD是一种保证XML文档格式正确的有效方法,可以通过比较XM

weixin_43790613的博客 924

手把手教你用ESP32-C3打造智能聊天机器人-立创实战派

本文将详细介绍如何利用立创ESP32-C3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 5533

RK3588部署YOLO模型 包含模型量化+npu轻量化+ubuntu+RGA图像加速和多线程模型加速 包源码

本专栏为深度学习部署全栈学习体系,包含68篇由浅入深的教程,专为零基础学习者设计。内容涵盖TensorRT与RK3588平台部署技术,包含Jetson系列和RK系列硬件部署实战,采用"理论+源码+实战"三位一体的教学模式。学习路径从基础环境搭建到模型优化、容器化部署、多硬件平台适配,最终掌握工业级AI部署能力。特色包括C++基础教学、Docker容器化、INT8量化、多线程优化等核心技术,并附带YOLOv5、人脸检测、车牌识别等多个实战项目源码。适合算法工程师转部署方向、嵌入式开发者及对

FJN110的博客 3730

对XML文件的重新认识,说说XML文件的二三事(二):两种验证模式-DTD和XSD

认识两种XML的验证模式是在Spring源码深度解析中看到的,这本书上来就介绍XML的基本知识,可见XML在Spring的配置中所占据的重要作用,这两种验证模式的出现主要是为了适应XML的较广的应用范围,因此需要极其严格的格式。话不多说,来介绍下XML的两种验证模式; 1.DTD和XSD两种验证模式的定义 DTD:DocumentType Definition直译为文档类型定义,作为一种XML

郭浩(C/C++) 1137

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

1294

Intellij IDEA创建XML, DTD和XML Schema(xsd)文件

Intellij IDEA创建XML, DTD和XML Schema(xsd)文件 文章目录Intellij IDEA创建XML, DTD和XML Schema(xsd)文件创建XMl文件创建DTD文件创建XML Schema(xsd)文件 创建XMl文件 <?xml version="1.0" encoding="UTF-8" ?> 创建DTD文件 <?xml version="1.0" encoding="UTF-8" ?> 创建XML Schema(xsd)

Ronin__L的博客 4344

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring的爬坑之路(五)XML的验证模式

Spring的爬坑之路(五)

qq_40540178的博客 2578

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

XML中DTD,XSD的区别与应用

XML我们并不陌生,在企业级应用中有很广的用途。具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用。 1.DTD(Documnet Type Definition) DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。 DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符...

lgxzzz的博客 493

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DTD 和XSD 区别

DTD=类型定义(Documnet Type Definition) DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。 DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。 一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性

zhang668756的博客 608

DTD与XSD的区别

https://blog.youkuaiyun.com/qq_17037733/article/details/80503560 DTD(Document Type Definition)即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制 一个DTD文档包含:(1)元素的定义规则;(2)元素间关系的定义规则;(3)元素可使用的属性,可使用的实体或符号规则 新建一个.dtd文件: <!ELEMENT 班级 (学生+)> <!ELEMENT 学生 (名字,年龄,介绍)>..

zunguitiancheng的专栏 263

xml,dtd,xsd演进的简单介绍

XML XML被设计用来传输和存储数据的。 XML标签没有被预定义。需要自行定义标签 示例:note.xml &lt; ?xml version=“1.0”?&gt; &lt; note&gt; &lt; to&gt;George&lt; /to&gt; &lt; from&gt;John&lt; /from&gt; &lt; heading&gt;Reminder&lt; /headin

好好 267

Spring中XML的验证模式

XML文件的验证模式保证了XML文件的正确性,而比较常用的验证模式有两种:DTD、XSD. DTD与XSD的区别 一、DTD(Document Type Definition)即文档型定义,是一种XML约束模式语言,是XML文件的验证机制,是XML文件组成的一部分.他可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签是否使用正确. 一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则. DTD的引入分为两种方式: 内部引用 内部引用应当通过下面的

qq_40708942的博客 848
上一篇: Html 的tbody
下一篇: xsd验证xml的两种方法
普通网友
博客等级 码龄15年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值