欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-09 18:07:32
...

  在平常的开发中,相信大家遇到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字符串”);其实感兴趣的同学可以继续看下它里面的代码注释和实现逻辑,帮助自己加深对代码的理解,这里我可以贴下该方法部分代码注释和实现逻辑,如下图所示:
如何过滤掉xml字符串中的gt,lt,quot,amp,apos
  从代码注释中可以很清楚的看到Supports only the five basic XML entities (gt, lt, quot, amp, apos).,意思就是方法可以支持反转义五种基本的XML实体,分别包括了gt, lt, quot, amp, apos。

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