`

JS拼凑XML字符

阅读更多

写ajax时最容易输出xml的就是拼凑字符串拉

如何处理特殊字符串是个问题

参见以下两种方法

http://webdev.csdn.net/page/96ba432b-af4a-412c-9684-2935c617faeb

 

对如我而言,我需要在html页面上显示的,我只需要把特殊字符串转为实体字符

 

 

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; ' 单引号
&quot; " 双引号

 

很显然 struts标签 bean:write 的属性 filter="true" 也是实现此功能

打开源代码,轻松找到这个方法 org.apache.struts.util。ResponseUtils.filter(String value)

具体实现如下:

 public static String filter(String value)
    {
        if(value == null)
            return null;
        char content[] = new char[value.length()];
        value.getChars(0, value.length(), content, 0);
        StringBuffer result = new StringBuffer(content.length + 50);
        for(int i = 0; i < content.length; i++)
            switch(content[i])
            {
            case 60: // '<'
                result.append("&lt;");
                break;

            case 62: // '>'
                result.append("&gt;");
                break;

            case 38: // '&'
                result.append("&amp;");
                break;

            case 34: // '"'
                result.append("&quot;");
                break;

            case 39: // '\''
                result.append("&#39;");
                break;

            default:
                result.append(content[i]);
                break;
            }

        return result.toString();
    }

 

当然有时候写javascript还需要平凑html,然后用一句 obj.innerHTML=展示你的页面

这时候也需要处理特殊字符。

我也仿照bean:write标签写很土的一个js版本的filter方法吧

 

function  filter(v)
    {
        if(v == null||v=="")
            return "";
      var result="";
        for(var i = 0; i < v.length; i++)
            switch(v.charAt(i))
            {
            case "<": result+="&lt;";break;
            case ">": result+="&gt;"; break;
            case "&":result+="&amp;";break;
            case "\"": result+="&quot;";break;
            case "'": result+="&#39;";break;
            default:result+=v.charAt(i);break;
            }
        return result;
}

 

如果用到prototype框架里面也有个方法

 

 escapeHTML: function() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  }

转换回来的对应方法为unescapeHTML

例如

var temp="<>/";

alert(temp.escapeHTML());

分享到:
评论

相关推荐

    文字字符 字符拼凑文字工具

    【标题】:“文字字符 字符拼凑文字工具” 这款软件的核心功能是生成由大量字符或文字拼接成的大文字效果,适用于个性化展示,如在QQ、MSN即时通讯软件的个人签名,或者是网络论坛(BBS)的签名档。它允许用户以...

    JS 拼凑字符串的简单实例

    在JavaScript(JS)中,拼凑字符串是一项常见的任务,特别是在处理动态数据或构建复杂的文本时。通常,我们可以直接使用加号"+"来连接字符串,但这种方法在处理大量字符串时可能会导致性能问题,因为每次操作都会...

    利用dos功能调用,显示字符和色彩图案

    在DOS环境下,程序员经常通过直接调用DOS功能来实现一些低级操作,比如显示字符和图形。本篇文章将详细讲解如何利用DOS功能调用来显示字符和色彩图案。 首先,DOS功能调用是通过向处理器发出中断请求来实现的。其中...

    JS下高效拼装字符串的几种方法比较与测试代码

    在JavaScript中,拼接大量字符串是一项常见的操作,尤其是在处理数据序列化、模板渲染或XMLHttpRequest(Ajax)提交时。然而,直接使用`+`运算符或者`+=`进行字符串拼接在性能上并不理想,特别是在处理大字符串时。...

    Javascript字符串常用方法详解_.docx

    Javascript 字符串类似于数组,是一个一个字符拼凑在一起组成的,因此可以用 length 属性取得字符串的长度。例如: var str = "hello" str.length; // 5 下面是 Javascript 字符串常用的方法: 1. charAt() 方法...

    字符图生成器ASCII Generator 2.0绿色单文件版

    众所周知,字符图是使用各种字符拼凑成一些有意思的图案。如果认为拼凑,工作量非常之大,但如果借助计算机软件,则能够快速将一张图片快速生成字符图。ASCII Generator 2.0就是这样一个工具。 ASCII Generator 2.0...

    Javascript字符串常用方法详解

    js里的字符串类似于数组,都是一个一个字符拼凑在一起组成的,因此可以用length属性取得字符串的长度 var str = “hello” str.length; // 5 字符串常用的一些方法 1. charAt() str.charAt(n) =&gt; 返回字符串的...

    C# GIF转字符画代码

    单单只是将静态图转换为字符画,功能貌似太过单一。 于是,小编便想着,既然静态图可以转换为...毕竟,动态图不也就是许多静态图拼凑在一起生成的吗? 本次教学中,我将教大家如何简单的实现将动态图也转换为字符画。

    拼图将碎片拼凑成一个完整画面HTML5源码

    【描述】:“拼图将碎片拼凑成一个完整画面HTML5源码”描述的是一个基于HTML5的编程实践,其核心是通过Canvas API来绘制和操作图片,以及通过JavaScript处理用户交互。Canvas是HTML5中用于动态图形绘制的元素,它...

    基于拼凑算法(PATCHWORK)信息隐藏源码.rar

    拼凑算法(PATCHWORK)是一种典型的信息隐藏技术,常用于数字水印的实现,以保护图像的版权或验证其真实性。 数字水印是将特定的标识信息(如作者名字、序列号等)嵌入到数字媒体(如图像、音频或视频)中,这个...

    最大公共字符串leetcode-maximum-number-of-balloons:气球的最大数量

    最大公共字符串leetcode 气球的最大数量 给定一个字符串文本,您希望使用文本字符来形成尽可能多的单词“balloon”的实例。 您最多可以在文本中使用每个字符一次。 返回可以形成的最大实例数。 Example 1: Input: ...

    alpha2 shellcode加密(转字符串)VC2008工程

    国外大牛开发的把shellcode全部转为字符串并且能正常运行的加密码算法,非常牛,因为网络上很难找到,本来通过收集网络上的alpha2算法片段拼凑出来的完整版,听说有alpha3了但感觉这个够用了,特来分享我的百度博客:...

    Python-scrmbl用于在终端中实现拼凑打印效果的库和CLI

    Python-scrmbl是一个用于在终端中创建拼凑打印效果的库和命令行接口(CLI)。这个工具可以帮助开发者或用户在控制台输出时增加趣味性,通过打乱文本字符的顺序来形成独特的显示效果。在Python编程环境中,它可以作为...

    方块 圆圈拼凑创意世界地图素材模板.rar

    在本资源中,"方块 圆圈拼凑创意世界地图素材模板.rar"是一个压缩包文件,其中包含的素材主要用于设计具有创新风格的世界地图。这个模板的独特之处在于它结合了方块和圆圈元素,为传统世界地图带来了一种全新的视觉...

    html中使用canvas实现对在线获取的瓦片地图源数据的的重新拼凑、放大缩小、经纬度定位

    本话题将深入探讨如何使用Canvas与JavaScript技术来处理在线获取的瓦片地图源数据,实现地图的重新拼凑、放大缩小以及经纬度定位功能。 首先,我们需要了解瓦片地图的工作原理。瓦片地图是一种将地球表面分成多个...

    拼凑出来的系统巡查脚本

    拼凑出来的脚本

    RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。RandomLib-master生成随机数和随机字符串的...

    [示例][PHP]RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。RandomLib-master生成随机数和随机字符串的...

Global site tag (gtag.js) - Google Analytics