在平常的开发中,相信大家遇到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. Python脚本语言写法
  2. 程序员霸榜 2020 年十大高薪岗位,不料幸福度却垫底了!
  3. Xamarin中Unsupported major.minor version 52.0问题解决
  4. transport=websocket' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
  5. LEMP构建高性能WEB服务器(第三版)
  6. WaitForSingleObject
  7. 如何获取当日日期_Power BI时间智能函数如何处理2月29日的?
  8. C#中一些常用的方法使用
  9. 20200805:Java拓扑排序实现力扣207课程表
  10. scrapy框架之分布式操作
  11. ExtJS新手调试过程
  12. FFmpeg连载2-分离视频和音频
  13. 在arcgis中进行拓扑检查
  14. 基础线性代数知识点总结与回顾(二):秩与线性相关
  15. C语言中sprintf函数的用法
  16. 极路由2刷机为openwrt固件
  17. 美国东海岸的数据中心为风暴做好准备
  18. CSDN学霸课表——网络工程师(软考中级)
  19. VUE中toast的使用与开发
  20. ssm+Vue计算机毕业设计学生网上请假系统(程序+LW文档)

热门文章

  1. 愤世嫉俗的程序员,总在网上发表言论,当起了“键盘侠”
  2. python BFS最短路径问题
  3. 谷歌chrome安卓版_谷歌Chrome安卓版测试全新共享界面:二维码和截图来了
  4. 不应将商业行为政治化!
  5. 利用SPSS可视化分箱轻松给数据进行等分分组
  6. 位运算——左移和右移
  7. 足球数据采集 php,世上最权威足球数据网站只爱梅西?
  8. JVM概览:内存空间与数据存储
  9. Android TabLayout基本使用及完美调整指示器位置的技巧
  10. Vue 之 vue-seamless-scroll 实现简单自动无缝滚动,且添加对应点击事件的简单整理