在平常的开发中,相信大家遇到xml字符串中包含有gt,lt, quot, amp, apos这些符号的情况,比如如下图所示:


  从上图可看到原本的<,>已经被分别转义成了&lt和&gt,导致整个xml的可读性下降。那么该如何将这些烦人的字符过滤掉呢?也就是对xml字符串进行一波反转义。其实非常简单,可以调用org.apache.commons.lang包中的StringEscapeUtils工具类下的unescapeXml方法。首先可以在pom.xml中引入如下的依赖:

    <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency>

  接着就可以在代码中使用String xxxx = StringEscapeUtils.unescapeXml(“这里输入xml字符串”);其实感兴趣的同学可以继续看下它里面的代码注释和实现逻辑,帮助自己加深对代码的理解,这里我可以贴下该方法部分代码注释和实现逻辑,如下图所示:

  从代码注释中可以很清楚的看到Supports only the five basic XML entities (gt, lt, quot, amp, apos).,意思就是方法可以支持反转义五种基本的XML实体,分别包括了gt, lt, quot, amp, apos。

  其实除了这个工具包的方法,像非常实用的cn.hutool工具包中的HtmlUtil工具类下的unescape(String htmlStr)方法也是可以支持反转义的,有兴趣的同学可以自行搜索了解学习下!
  好的,今天就讲到这里。

如何过滤掉xml字符串中的gt,lt,quot,amp,apos相关推荐

  1. php 字符串去html,PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数

    strip_tags定义和用法 strip_tags() 函数剥去字符串中的 HTML.XML 以及 PHP 的标签. 注释:该函数始终会剥离 HTML 注释.这点无法通过 allow 参数改变. 注 ...

  2. Python 在字符串中处理html 和xml

    问题: 想将HTML 或者XML 实体如&entity;或&#code; 替换为对应的文本.再者,你需要转换文本中特定的字符(比如<, >, 或&). 解决方案: ...

  3. php+剥去标签,php剥去字符串中的html与xml及php标签的函数strip_tags()

    实例 剥去字符串中的 HTML 标签:<?php echo strip_tags("Hello world!"); ?> 定义和用法 strip_tags() 函数剥去 ...

  4. java 前言中不允许有内容_解析xml字符串时报“前言中不允许有内容”错误。

    一,问题出现经过: j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException: Error on line 1 o ...

  5. Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串:

    摘要:之前在项目中使用到了Oracle数据库中通过触发器去调用存储过程执行数据解析并Update到对应的数据表中,但是,经过一段时间的测试使用发现,如果job那天停掉了,然后你再重新新建job的话,这 ...

  6. Oracle中通过游标执行带参数的存储过程实现解析CLOB字段内的xml字符串:

    摘要:近来之前的项目数据出现了问题,原因是由于之前在设计数据库的时候把时间字段设置成了字符串格式,所以给后期的数据操作带来了很大的麻烦,这里提醒一下各位程序猿,以后在开发项目的时候时间字段一定要是时间 ...

  7. Oracle中通过Function,存储过程,触发器,调用实现解析Clob字段中存在的xml字符串...

    摘要:接着之前的问题,在Oracle数据库中通过Function,存储过程,触发器实现解析数据表中CLOB大数据字段中存在的xml字符串有时,有个特殊的时间字符串要在数据库格式化处理,之前解析过来的时 ...

  8. Oracle中通过:触发器,存储过程,Function调用实现解析Clob字段类型中存储的xml字符串...

    摘要:最近项目中用到了存储过程,触发器,Function,由于以前没怎么用过,所以查资料,请教同事,最后总算是把问题解决了,问题是这样的,数据库中有三张表一张是存放从远程服务器获取数据的MBINMSG ...

  9. 《Python Cookbook 3rd》笔记(2.17):在字符串中处理html和xml

    在字符串中处理html和xml 问题 你想将 HTML 或者 XML 实体如 &entity; 或 &#code; 替换为对应的文本.再者,你需要转换文本中特定的字符 (比如<, ...

最新文章

  1. SQL Server 中各个系统表的作用
  2. Library reports error: __use_no_semihosting was requested, but _tty
  3. Python基础--1.2 变量循环基础介绍
  4. 1.SharePoint2010初接触
  5. MySQL高级 - 存储引擎 - 选择原则
  6. http的请求方法 GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
  7. php cli 判断,php cli 命令行详解【转】
  8. java管理员登录_idea实现管理员登录javaweb
  9. Python基础(三)文件操作和处理json
  10. c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法
  11. 使用TortoiseSVN碰到的几个问题(2)-冲突解决, 图标重载
  12. 汉字在字库中的偏移地址计算
  13. python实例 优化目标函数_python scipy optimize.minimize用法及代码示例
  14. 职称计算机 将计算机broad_1下的e盘映射为k盘网络驱动器,[转载]职称计算机考试(网络基础)试题答案、操作(一)...
  15. 香港科大【526清水湾思享会@杭州】暨香港科大EMBA第四届校友会【浙江分会】启动仪式成功举行...
  16. 山东大学软件学院2021软件项目管理考试回忆
  17. matlab里面求出两条曲线的交点问题
  18. 如何下载网吧电影服务器上的电影
  19. (纪中)2223. 母鸡下蛋(hen)
  20. 《工程测量学》考试复习总结

热门文章

  1. 我所偏爱的 C 语言面向对象编程范式
  2. 客户案例 | 高等教育出版社
  3. java 实习生刚入职都会做些什么工作呢?
  4. python docx转换成txt文本
  5. 全球互联网排名_全球互联网的梦想已死
  6. (转)网上摘抄:计算数学研究方向及网上资料
  7. 机器学习:回归分析——基于线性回归的股票预测
  8. ChatGpt真的会取代程序员吗,有点过分担心了
  9. gedit的安装及插件使用
  10. 《实时控制软件设计》第一次编程作业