android XML特殊字符处理
来源:互联网 发布:西部数码域名抢注 编辑:程序博客网 时间:2024/05/13 22:06
public class XMPPUtil
{
/**
* XML特殊字符变为转义字符
*
* @param string the string to escape.
* @return the string with appropriate characters escaped.
*/
public static String escapeXML(String string)
{
if (string == null)
{
return null;
}
char ch;
int i = 0;
int last = 0;
char[] input = string.toCharArray();
int len = input.length;
StringBuilder out = new StringBuilder((int)(len * 1.3));
for (; i < len; i++)
{
ch = input[i];
if (ch > '>')
{
}
else if (ch == '<')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append("<");
}
else if (ch == '>')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append(">");
}
else if (ch == '&')
{
if (i > last)
{
out.append(input, last, i - last);
}
// Do nothing if the string is of the form ë (unicode value)
if (!(len > i + 5 && input[i + 1] == '#' && Character.isDigit(input[i + 2])
&& Character.isDigit(input[i + 3]) && Character.isDigit(input[i + 4]) && input[i + 5] == ';'))
{
last = i + 1;
out.append("&");
}
}
else if (ch == '"')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append(""");
}
else if (ch == '\'')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append("'");
}
}
if (last == 0)
{
return string;
}
if (i > last)
{
out.append(input, last, i - last);
}
return out.toString();
}
/**
* XMl转义字符变为特殊字符
*
* @param string
* @return
*/
public static String unescapeXML(String string)
{
return string.replace("&", "&")
.replace(""", "\"")
.replace("<", "<")
.replace(">", ">")
.replace("&apos", "'");
}
}
public class XMPPUtil
{
/**
* XML特殊字符变为转义字符
*
* @param string the string to escape.
* @return the string with appropriate characters escaped.
*/
public static String escapeXML(String string)
{
if (string == null)
{
return null;
}
char ch;
int i = 0;
int last = 0;
char[] input = string.toCharArray();
int len = input.length;
StringBuilder out = new StringBuilder((int)(len * 1.3));
for (; i < len; i++)
{
ch = input[i];
if (ch > '>')
{
}
else if (ch == '<')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append("<");
}
else if (ch == '>')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append(">");
}
else if (ch == '&')
{
if (i > last)
{
out.append(input, last, i - last);
}
// Do nothing if the string is of the form ë (unicode value)
if (!(len > i + 5 && input[i + 1] == '#' && Character.isDigit(input[i + 2])
&& Character.isDigit(input[i + 3]) && Character.isDigit(input[i + 4]) && input[i + 5] == ';'))
{
last = i + 1;
out.append("&");
}
}
else if (ch == '"')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append(""");
}
else if (ch == '\'')
{
if (i > last)
{
out.append(input, last, i - last);
}
last = i + 1;
out.append("'");
}
}
if (last == 0)
{
return string;
}
if (i > last)
{
out.append(input, last, i - last);
}
return out.toString();
}
/**
* XMl转义字符变为特殊字符
*
* @param string
* @return
*/
public static String unescapeXML(String string)
{
return string.replace("&", "&")
.replace(""", "\"")
.replace("<", "<")
.replace(">", ">")
.replace("&apos", "'");
}
}
0 0
- android XML特殊字符处理
- android string.xml 特殊字符处理
- xml 特殊字符处理
- XML 特殊字符处理
- XML 特殊字符处理
- XML 特殊字符处理
- XML处理特殊字符
- XML 特殊字符处理
- XML 特殊字符处理
- XML特殊字符处理
- xml特殊字符处理
- XML 特殊字符处理
- XML 特殊字符处理
- XML 特殊字符处理
- android 特殊字符 处理
- XML中的特殊字符处理
- XML 特殊字符的处理
- xml特殊字符处理 如&
- 判断鼠标进入容易的方向,js判断划入方向
- 航班查询接口
- U盘安装centos7解决could not boot,/dev/root/does not exit
- Ubuntu 配置java环境变量
- web.xml详细介绍
- android XML特殊字符处理
- 一个最简单的源Filter的编写步骤 转贴
- ubuntu系统下创建软件桌面快捷方式
- Android 一条文字中给部分文字添加颜色大小
- solr学习总结
- Java Metrics
- xtend 生成代码的编码问题
- Ubuntu使用日志1(虚拟机与Windows直接Ping与复制粘贴文件)
- Drupal7下 CKEditor + IMCE 安装和配置图文教程