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


  在平常的开发中,相信大家遇到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)方法也是可以支持反转义的,有兴趣的同学可以自行搜索了解学习下!
  好的,今天就讲到这里。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Melo_FengZhi

您的鼓励对我就是巨大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值