`
penghao122
  • 浏览: 363825 次
  • 性别: Icon_minigender_1
  • 来自: 广东珠海
社区版块
存档分类
最新评论

JAXDemo

    博客分类:
  • xml
XML 
阅读更多
package javawebserivce;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class JAXPDemo extends DefaultHandler
{
private Hashtable tags;
public void startDocument() throws SAXException
{
tags=new Hashtable();
}
public void startElement
(String namespaceURI,String localName,
String keyName,Attributes atts) throws SAXException
{
String key=keyName;
Object value=tags.get(key);
//若哈希表中没有此元素则添加此元素
if(value==null)
{
tags.put(key,new Integer(1));
}
//若已经有此元素则元素数量自增
else
{
int count=((Integer)value).intValue();
count++;
tags.put(key,new Integer(count));
}
}
public void endDocument() throws SAXException
{
Enumeration keys=tags.keys();
//XML文档解析结束时打印所有标签出现次数
while(keys.hasMoreElements())
{
String tag=(String)keys.nextElement();
int count=((Integer)tags.get(tag)).intValue();
System.out.println("Tag<"+tag+"> occurs "+count+" times ");
}
}
//将File转化成URL
private static String convertToFileURL(String fileName)
{
String path=new File(fileName).getAbsolutePath();
if(File.separatorChar!='/')
{
path=path.replace(File.separatorChar,'/');
}
if(!path.startsWith("/"))
{
path="/"+path;
}
return "file:"+path;
}
private static void usage()
{
System.out.println("Usage:JAXPDemo [-v] <filename>");
System.out.println(" -v=validation");
System.exit(1);
}
public static void main(String[] args)
{
String fileName=null;
boolean validation=false;
for(int i=0;i<args.length;i++)
{
if(args[i].equals("-v"))
{
validation=true;
}
else
{
fileName=args[i];
if(i!=args.length-1)
{
usage();
}
}
if(fileName==null)
{
usage();
}
//创建SAXParserFactory实例
SAXParserFactory factory=SAXParserFactory.newInstance();
factory.setValidating(validation);
//创建XMLReader实例
XMLReader xmlReader=null;
try
{
SAXParser saxParser=factory.newSAXParser();
xmlReader=saxParser.getXMLReader();
}
catch(Exception e)
{
System.out.println(e.toString());
System.exit(1);
}
//设置XMLReader的内容处理
xmlReader.setContentHandler(new JAXPDemo());
//设置XMLReader的错误处理
xmlReader.setErrorHandler(new MyErrorHandler(System.out));
try
{
//解析XML文件
xmlReader.parse(convertToFileURL(fileName));
}
catch(SAXException se)
{
System.out.println(se.toString());
System.exit(1);
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
System.exit(1);
}
}
}
private static class MyErrorHandler implements ErrorHandler
{
private PrintStream out;
MyErrorHandler(PrintStream out)
{
this.out=out;
}
private String getParseExceptionInfo(SAXParseException spe)
{
String systemID=spe.getSystemId();
if(systemID==null)
{
systemID="null";
}
String info="URI="+systemID+"Line="+spe.getLineNumber()+
":"+spe.getMessage();
return info;
}
public void warning(SAXParseException spe) throws SAXException
{
out.println("Waring:"+getParseExceptionInfo(spe));
}
public void error(SAXParseException spe) throws SAXException
{
String message="Error:"+getParseExceptionInfo(spe);
throw new SAXException(message);
}
public void fatalError(SAXParseException spe) throws SAXException
{
String message="Fatal Error:"+getParseExceptionInfo(spe);
throw new SAXException(message);
}
}
}
分享到:
评论

相关推荐

    整体风格与设计理念 整体设计风格简约而不失优雅,采用了简洁的线条元素作为主要装饰,营造出一种现代、专业的视觉感受 配色上以柔和的色调为主,搭配少量鲜明的强调色,既保证了视觉上的舒适感,又能突出重点内容

    整体风格与设计理念 整体设计风格简约而不失优雅,采用了简洁的线条元素作为主要装饰,营造出一种现代、专业的视觉感受。配色上以柔和的色调为主,搭配少量鲜明的强调色,既保证了视觉上的舒适感,又能突出重点内容,使整个演示文稿在视觉上具有较强的吸引力和辨识度。 页面布局与内容结构 封面:封面设计简洁大方,“MORIMOTO” 和 “SENYAN” 字样增添了独特的标识性,可根据实际需求替换为汇报人姓名或公司名称等信息,让演示文稿从一开始就展现出专业与个性。 目录页:清晰列出 “工作内容回顾”“工作难点分析”“市场状况概述”“工作目标计划” 四个主要板块,方便观众快速了解演示文稿的整体架构和主要内容,为后续的详细展示做好铺垫。 工作内容回顾页(PART.01):提供了充足的空间用于详细阐述工作内容,可通过复制粘贴文本并选择只保留文字的方式,方便快捷地填充内容,建议使用微软雅黑字体以保证整体风格的一致性。无论是列举日常工作任务、项目执行细节还是工作成果总结,都能清晰呈现,让观众对工作内容有全面而深入的了解。 工作难点分析页(PART.02):这部分页面设计注重实用性,文本框可自由拉伸,方便根据工作难

    【BP回归预测】基于matlab鹈鹕算法优化BP神经网络POA-BP光伏数据预测(多输入单输出)【Matlab仿真 5183期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    数据集-大豆种子质量好坏检测数据集7640张4个标签YOLO+VOC格式.zip

    数据集说明:图片为大豆种子和小土块、木屑混合的图片,其中对大豆质量完好、大豆质量缺损、土块、木渣分别进行了标注。 数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:7640 Annotations文件夹中xml文件总计:7640 labels文件夹中txt文件总计:7640 标签种类数:4 标签名称:["clod","damaged","good","wood"] 每个标签的框数: clod 框数 = 17980 damaged 框数 = 27495 good 框数 = 40953 wood 框数 = 13644 总框数:100072 图片清晰度(分辨率:像素):清晰 图片是否增强:否 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

    Ansible:Ansible条件语句与循环教程.docx

    Ansible:Ansible条件语句与循环教程.docx

    人脸疲劳图像目标检测数据【已标注,约10,000张数据,YOLO 标注格式】

    人脸疲劳图像目标检测数据【已标注,约10,000张数据,YOLO 标注格式】 类别个数【2】:drowsy、undrowsy【具体参考classes文件】 数据集做了训练集、验证集划分,如果想要可视化数据,运行show脚本即可。 yolov5的改进实战:https://blog.csdn.net/qq_44886601/category_12605353.html 【更多图像分类、图像分割(医学)、目标检测(yolo)的项目以及相应网络的改进,可以参考本人主页:https://blog.csdn.net/qq_44886601/category_12803200.html】

    Python与PyCharm的入门到精通:安装配置全流程指南

    内容概要:本文详细介绍了 Python 及 PyCharm 的安装与配置流程,包括从选择合适的安装包、安装 Python 及 PyCharm,到环境变量的配置与简单的编程测试。同时,还涉及到了 PyCharm 与已安装 Python 解释器的关联配置方法,提供了创建快捷方式、调节字体大小以及软件汉化的解决方案,帮助初学者全面掌握开发环境搭建的基本技能。 适合人群:对 Python 编程感兴趣的新手开发人员、在校学生以及希望通过配置高效开发环境提高编程效率的技术人员。 使用场景及目标:本指南旨在帮助用户在不同操作系统(如 Windows、macOS 和 Linux)上快速、准确地完成 Python 和 PyCharm 的安装及配置,解决常见安装问题,以便能够顺利地开始 Python 项目的编写与测试。 其他说明:阅读本指南前,建议具备一定的计算机基础知识。对于遇到的具体安装问题,建议结合官方文档或在线论坛寻求更详细的解答。

    永磁同步电机(pmsm)匝间短路故障simulink仿真 提供文档参考说明

    永磁同步电机(pmsm)匝间短路故障simulink仿真。 提供文档参考说明。

    【BP分类】基于matlab减法平均算法优化BP神经网络SABO-BP故障识别数据分类【Matlab仿真 5001期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    激关相关的模型,视频 增材制造.mph 激光焊接.mph run- 激光熔覆-可行.mph 激光烧蚀.mph 激光熔铸.mph 激光打孔·飞溅-较好-原始.mph 激光打孔.mph 激光打

    激关相关的模型,视频 增材制造.mph 激光焊接.mph run- 激光熔覆-可行.mph 激光烧蚀.mph 激光熔铸.mph 激光打孔·飞溅-较好-原始.mph 激光打孔.mph 激光打孔·飞溅-较好-原始.mph 案例7-激光打孔榕池(2).mp4 案例7-激光打孔熔池(3).mp4 案例7-激光打孔榕池(1).mp4 激光打孔.mph COMSOL Multiphysics多物理场耦合 1、基础强化.mp4 COMSOL中热流耦合的进阶.mp4 案例-上升气泡.mp4 案例1-注水.mp4 案例10-激光焊接热力耦合.mp4 案例11-激光熔覆.mp4 案例12-增材制造-生死单元热力耦合.mp4 案例13-液滴冲击-三角形.mp4 案例14-孔障流.mp4 案例15-圆柱绕流.mp4 案例16-弯道流动3D.mp4 案例17-激光抛光.mp4 案例2-油水气.mp4 案例2-油水气2.mp4 案例3-流固耦合-动网格变形域.mp4 案例4-泵抽水.mp4 案例5-水沸腾(1).mp4 案例5-水沸腾(2).mp4 案例6-水蒸发冷凝.mp4 案例7-激光打孔熔池

    【BP回归预测】基于matlab布谷鸟算法优化BP神经网络CS-BP光伏数据预测(多输入单输出)【Matlab仿真 5149期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Python 编程基础知识与核心概念详解

    内容概要:本文详细介绍了 Python 编程的基础知识和核心概念,包括变量与数据类型、基本运算、控制流、函数、数据结构、面向对象编程、异常处理、模块与包、文件操作、列表推导式以及常用库的使用方法。 适合人群:适用于 Python 初学者或具备一定编程基础的学习者。 使用场景及目标:帮助读者快速掌握 Python 编程的基本语法和常用功能,适合用于初学者的自学或编程教学。 阅读建议:本文内容涵盖 Python 编程的各个方面,建议读者从头到尾逐一学习,并结合实际编程练习巩固理解。

    Arista Networks:Arista 7250系列交换机高级配置.docx

    Arista Networks:Arista 7250系列交换机高级配置.docx

    基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

    基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

    基于java的酒品销售系统源代码(完整前后端+mysql+说明文档+LW).zip

    一、前台功能 1.用户注册:包括用户信息管理、基本参数设置。 2.用户信息修改:用户登录后可以在个人信息界面进行信息修改。 3.购物车:当用户看中商品后,可以将商品加入购物车挑选结束后统一支付。 4.订单查询:在商品结算后,用户可以通过查询订单来查看购买的商品。 5.酒品管理:主要是对酒品的基本信息情况进行管理的。在线可以展示相应的酒品信息。 二、后台功能 1.用户管理:管理员可以在所有用户界面里进行用户的增加、删除。 2.商品管理:管理员可以在所有商品界面里进行商品的增加、删除、修改。 3.订单管理:管理员可以对订单进行增删等操作。 4.排行榜:产品销量的统计排行。 环境说明: 开发语言:Java,jsp JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea 部署容器:tomcat

    BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的项目实战开发例程- 用电脑串口AT命令控制蓝牙主机.zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2540/CC2541上运行,如果是其他型号芯片,请自行调整。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。

    【发文无忧】基于matlab鲸鱼算法WOA-Kmean-Transformer-GRU数据回归预测【Matlab仿真 5858期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于java的税务缴纳信息管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    1、用户类别:登录系统的身份分为管理员和普通员工两种,只有被授权的用户才可以使用本系统的资源。 2、权限管理:系统需要经过有效的身份验证可以登录。用户的身份不同,使用的系统资源也不同。 3、管理员可对系统中的缴税类别、缴税数量、缴税库存、出口、入库、合同、客户信息、职工信息等内容,进行添加、查询、修改和删除;管理员能够发布公告及编辑。 4、普通员工能够查看公告。 环境说明: 开发语言:Java,jsp JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea 部署容器:tomcat

    【BP回归预测】基于matlab白鹭群算法优化BP神经网络ESOA-BP光伏数据预测(多输入单输出)【Matlab仿真 5139期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    707电影视频在线点播系统.zip

    所有源码都有经过测试,可以运行,放心下载~

    动画效果的圣诞树,我们可以使用HTML、CSS和JavaScript来实现

    如果你想在HTML中创建一个具有动画效果的圣诞树,我们可以使用HTML、CSS和JavaScript来实现。下面是一个简单的示例,它使用了CSS来创建圣诞树的形状和动画效果,以及JavaScript来控制圣诞树上的灯光闪烁。

Global site tag (gtag.js) - Google Analytics