java脱敏XML(java脱敏工具类怎么使用)

今天给各位分享java脱敏XML的知识,其中也会对java脱敏工具类怎么使用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、在java在如何解析XML文件2、在java中解析xml有哪几种方法3、java怎么解析xml文件?

在java在如何解析XML文件

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB

1. DOM(Document Object Model)

此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常消耗系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观点来讲,它是优秀的,但是在 Java 语言中的应用不方便,并且可读性不强。

实例:

import javax.xml.parsers.*;

//XML解析器接口

import org.w3c.dom.*;

//XML的DOM实现

import org.apache.crimson.tree.XmlDocument;

//写XML文件要用到

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

//允许名字空间

factory.setNamespaceAware(true);

//允许验证

factory.setValidating(true);

//获得DocumentBuilder的一个实例

try {

DocumentBuilder builder = factory.newDocumentBuilder();

} catch (ParserConfigurationException pce) {

System.err.println(pce);

// 出异常时输出异常信息,然后退出,下同

System.exit(1);

}

//解析文档,并获得一个Document实例。

try {

Document doc = builder.parse(fileURI);

} catch (DOMException dom) {

System.err.println(dom.getMessage());

System.exit(1);

} catch (IOException ioe) {

System.err.println(ioe);

System.exit(1);

}

//获得根节点StuInfo

Element elmtStuInfo = doc.getDocumentElement();

//得到所有student节点

NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(

strNamespace, “student”);

for (……){

//当前student节点元素

Element elmtStudent = (Element)nlStudent.item(i);

NodeList nlCurrent = elmtStudent.getElementsByTagNameNS(

strNamespace, “name”);

}

在java中解析xml有哪几种方法

(1)DOM解析

DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取

和操作文档的任意部分,是W3C的官方标准

【优点】

①允许应用程序对数据和结构做出更改。

②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。

【缺点】

①通常需要加载整个XML文档来构造层次结构,消耗资源大。

【解析详解】

①构建Document对象:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = bdf.newDocumentBuilder();

InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(xml文件);

Document doc = bd.parse(is);

②遍历DOM对象

Document: XML文档对象,由解析器获取

NodeList: 节点数组

Node: 节点(包括element、#text)

Element: 元素,可用于获取属性参数

(2)SAX(Simple API for XML)解析

流模型中的”推”模型分析方式。通过事件驱动,每发现一个节点就引发一个事件,事件推给事件处理器,通过回调方法

完成解析工作,解析XML文档的逻辑需要应用程序完成

【优势】

①不需要等待所有数据都被处理,分析就能立即开始。

②只在读取数据时检查数据,不需要保存在内存中。

③可以在某个条件得到满足时停止解析,不必解析整个文档。

④效率和性能较高,能解析大于系统内存的文档。

【缺点】

①需要应用程序自己负责TAG的处理逻辑(例如维护父/子关系等),文档越复杂程序就越复杂。

②单向导航,无法定位文档层次,很难同时访问同一文档的不同部分数据,不支持XPath。

【原理】

简单的说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束时通知事件

处理函数(回调函数),进行相应处理,直到文档结束

【事件处理器类型】

①访问XML DTD:DTDHandler

②低级访问解析错误:ErrorHandler

③访问文档内容:ContextHandler

【DefaultHandler类】

SAX事件处理程序的默认基类,实现了DTDHandler、ErrorHandler、ContextHandler和EntityResolver接口,通常

做法是,继承该基类,重写需要的方法,如startDocument()

【创建SAX解析器】

SAXParserFactory saxf = SAXParserFactory.newInstance();

SAXParser sax = saxf.newSAXParser();

注:关于遍历

①深度优先遍历(Depthi-First Traserval)

②广度优先遍历(Width-First Traserval)

(3)JDOM(Java-based Document Object Model)

Java特定的文档对象模型。自身不包含解析器,使用SAX

【优点】

①使用具体类而不是接口,简化了DOM的API。

②大量使用了Java集合类,方便了Java开发人员。

【缺点】

①没有较好的灵活性。

②性能较差。

(4)DOM4J(Document Object Model for Java)

简单易用,采用Java集合框架,并完全支持DOM、SAX和JAXP

【优点】

①大量使用了Java集合类,方便Java开发人员,同时提供一些提高性能的替代方法。

②支持XPath。

③有很好的性能。

【缺点】

①大量使用了接口,API较为复杂。

(5)StAX(Streaming API for XML)

流模型中的拉模型分析方式。提供基于指针和基于迭代器两种方式的支持,JDK1.6新特性

【和推式解析相比的优点】

①在拉式解析中,事件是由解析应用产生的,因此拉式解析中向客户端提供的是解析规则,而不是解析器。

②同推式解析相比,拉式解析的代码更简单,而且不用那么多库。

③拉式解析客户端能够一次读取多个XML文件。

④拉式解析允许你过滤XML文件和跳过解析事件。

【简介】

StAX API的实现是使用了Java Web服务开发(JWSDP)1.6,并结合了Sun Java流式XML分析器(SJSXP)-它位于

javax.xml.stream包中。XMLStreamReader接口用于分析一个XML文档,而XMLStreamWriter接口用于生成一个

XML文档。XMLEventReader负责使用一个对象事件迭代子分析XML事件-这与XMLStreamReader所使用的光标机制

形成对照。

java怎么解析xml文件?

String xml=”xmlToUserName![CDATA[toUser]]/ToUserName”

+”FromUserName![CDATA[fromUser]]/FromUserName”

+”CreateTime12345678/CreateTime”

+”MsgType![CDATA[text]]/MsgType”

+”Content![CDATA[你好]]/Content/xml”;

try {

//加载xml字符串

org.dom4j.Document document=org.dom4j.DocumentHelper.parseText(xml);

//获取根节点

org.dom4j.Element root=document.getRootElement();

//获取值  ==toUser

String toUserName=root.elementText(“ToUserName”);

System.out.println(toUserName);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

java脱敏XML(java脱敏工具类怎么使用)

java脱敏XML的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java脱敏工具类怎么使用、java脱敏XML的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月29日 17:00:09
下一篇 2024年3月29日 17:07:18

相关推荐

  • java加载jar文件,java添加jar包怎么部署

    java可以动态加载一个jar包,并且调用里面的类和方法吗? 1、动态加载jar包,需要用到java.net.URLClassLoader这个类,它可以指定一个路径将jar包或者classes文件加载到类空间。加载完毕后,直接调用loadClass就可以加载指定的类,然后通过反射生成实例或者调用方法即可。 2、你所说的不可用是哪方面的?开发环境下的不可用,还…

    2024年5月19日
    3500
  • java向mysql里插入数据,java向mysql数据库增删改查

    如何在Java程序中访问mysql数据库中的数据并进行简单的操作_MySQL 创建一个javaProject,并输入如下java代码: package link; import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程 * DataBase:fuck, table:person; * 使用myeclipse对mysql数据库…

    2024年5月19日
    3700
  • java可以编写什么程序,JAVA怎么编写安卓程序

    java可以开发什么项目 1、java开发是用java开发一系列的“B/S”系统,包括各种办公系统、各种网站、电力的监控系统、报表系统等等。 2、java开发主要是bs,做网站(广域网、局域网)之类的东西,客户端程序相对来说较少。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。 3、嵌入式领域 Java在嵌入式领域发展空间很大。在这个平台上,你…

    2024年5月19日
    4100
  • java笛卡尔爱心,笛卡尔 爱心

    笛卡尔心形线公式是什么? 心形函数表达式是:r=a(1-sinθ)。r=a(1-sinθ)这个函数有两个变量,可对a赋值,然后进行求解。函数图像是心形线。这个方程又被称为“笛卡尔的爱情坐标公式”。相关故事 笛卡尔成为了公主的数学老师。 直角坐标方程 心形线的平面直角坐标系方程表达式分别为 x^2+y^2+a*x=a*sqrt(x^2+y^2) 和 x^2+y…

    2024年5月19日
    4800
  • 包含java程序员p5的词条

    java编程开发程序员需要掌握的开发工具? MongoDB MongoDB是使用非常广泛的工具,具有跨平台和面向文档数据库等优势,是现在使用最多的一种数据库。在使用过程中,有灵活的文档模型、高可用复制集、可扩展分片集群,还能进行实时监控等相关操作。 Jcreator Jcreator是专注于Java程序设计的集成式开发环境。具有小巧、易用、美观等优点,是适合…

    2024年5月19日
    3300
  • java.update,javaupdate

    java进程中update未生效 先检查你的jre是不是装好了,在命令提示符下运行java,如果提示java命令的用法,则说明装好了;如果没有,说明环境变量没有配置正确,上网找点资料就可以了。 String sql = “select * from admin”;rs = executeUpdate(sql);这样是不是在自己修改的时候能更舒服一点。建议而已…

    2024年5月19日
    4200
  • 关于java远程db2数据库的信息

    java怎么连接数据库? 要连接数据库,需要向java.sql.请求并获得Connection对象,该对象就代表一个数据库的连接。使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。 首先第一步就是在网上下载一个mysql的数据库驱动jar包,类似mysql-…

    2024年5月19日
    3300
  • java设置http响应码的简单介绍

    java的HTTP请求:返回的响应为乱码,转码根本不起作用,请看下面代码。跪… 1、在服务端接收到参数时,iso-8859-1转gbk,无效。 在发送请求前将中文参数转码,utf-8转iso-8859-1,无效。 2、byte[] ba = method.getResponseBody();String str= new String(ba,UT…

    2024年5月19日
    4000
  • java中的节点流有哪些,java中的节点是什么意思

    java里面的节点流和处理流是什么意思? 在JAVA中的流按流动方向可以分为输入流及输出流两种,按流的处理位置可分为节点流和包装流。输入流,输出流是以程序为参考点来说的,所谓的输入流就是程序从中获取数据的流,输出流就是程序要其写数据的流。 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构…

    2024年5月19日
    3600
  • 写完java后保存在哪里,java程序怎么运行

    20条必背java知识点学生考专必备 1、,JDK、JRE和JVM之间的关系 JDK(Java Development Kit):Java开发工具包,jdk是整个Java开发的核心,它集成了jre和一些好用的小工具(javac.exe,java.exe,jar.exe等)。 2、必备的Java的基础知识字节基类型 当我们讨论二进制时,我们实际上是在讨论比特的…

    2024年5月19日
    2900

发表回复

登录后才能评论



关注微信