C# DataSet 的getXML()方法转换获得的XML字符串,数字开头,包含其他特殊字符时的处理

C# DataSet 的getXML()方法转换获得的XML字符串,数字开头,包含其他特殊字符时的会给转义成以“_x00”开头,“_”结尾的16进制的ascii码。  导致前台与Grid++Report的前面的数据列的绑定不一致了,所以,就要进行单独处理。

将Grid++Report前台的字段名称,也按照这种方式进行编码,使之匹配上。

编码方法如下。中文和英文不编码,其余字符串都以编码表示字段列。

internal string EnCode16ASI(string str)
{
Regex regEnglish = new Regex("^[a-zA-Z]");
Regex regChina = new Regex(@"[\u4e00-\u9fbb]");
string result = "";
StringBuilder stringBuilder = new StringBuilder(str.Length * 2);
for (int i = 0; i < str.Length; i++)
{
if (regChina.IsMatch(str[i].ToString()) || regEnglish.IsMatch(str[i].ToString()))
{
stringBuilder.Append(str[i]);
}
else
{
stringBuilder.Append("_x00" + ((int)str[i]).ToString("X2") + "_");//x2是小写
}
}
result = stringBuilder.ToString();
return result;
}

时间: 2024-10-19 12:18:05

C# DataSet 的getXML()方法转换获得的XML字符串,数字开头,包含其他特殊字符时的处理的相关文章

Js parsetInt() 字符串转换,只能转换字符串,数字开头的才会返回数值,否则为NaN,空字符串也返回NaN

alert(parseInt('456lee')); //456,返回正数部分 alert(parseInt('lee456lee')); //NaN alert(parseInt('lee456lee')); //NaN alert(parseInt('')); //NaN 原文地址:https://www.cnblogs.com/xiaoxinzi/p/8480356.html

javaScript中用eval()方法转换json对象

var u = eval('('+user+')'); 1.对于服务器返回的JSON字符串,如果jQuery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次.这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var u = eval('('+user+')'); 为什么要 eval这里要添加('('+user+')') "呢? 原因在于:eval本身的问题. 由于json是以"{}&

javaScript中eval()方法转换json对象

原文:javaScript中eval()方法转换json对象 <script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"[email protected]",'+ 'showInfo:function(){'+ 'document.wri

webservice传递特殊字符时的解决的方法

webservice soap报文是xml格式交互的,当中针对特殊字符传递无法解析,导致数据处理失败. 解决的方法例如以下: 1.在发送报文之前,针对报文进行base64转码,转义后避免报文中含有特殊字符. 标准base64中是以%开头的,假设存储到数据库中,并进行查询sql中,会解析成通配符,这样会报错. 搜索后使用改进版base64进行转码,能够规避该问题,详细度娘一下吧. 此方法的缺点是,全部client都须要知道解码的方式,否则无法解析. 2.在xml中,使用cdata标记特殊字符,这样

JSON-lib框架,转换JSON、XML不再困难

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作    1. 首先要去官方下载json-lib工具包 下载地址: http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/ 目前最新的是2.4的版本,本示例中使用的是v2.3:json-lib还需要以下依赖包: jak

GUID转换成16位字符串或19位唯一字符串

整理几个常用GUID转换成16位字符串或19位唯一字符串方法: /// <summary> /// 根据GUID获取16位的唯一字符串 /// Author : 付义方 /// </summary> /// <param name=\"guid\"></param> /// <returns></returns> public static string GuidTo16String() { long i = 1;

【方法】Oracle用户密码含特殊字符时的登陆问题

[方法]Oracle用户密码含特殊字符时的登陆问题 1.1  BLOG文档结构图 1.2.2  相关文章链接 [密码]Oracle用户密码系列:http://blog.itpub.net/26736162/viewspace-2129595/ ------------------------------------------------------------------------- 第二章 实验部分 2.1  实验环境介绍 项目 source db db 类型 RAC db version

[13年迁移]javascript 的join(&quot;&quot;)方法,把数组变成统一字符串,用来写长的输出字符串

javascript 的join("")方法,把数组变成统一字符串,用来写长的参数字符串    function m(a) {        var b = ["<table class='DynarchCalendar-topCont'", j, "><tr><td>", "<div class='DynarchCalendar'>", e ? "<a clas

linux c/c++ IP字符串转换成可比较大小的数字

由www.169it.com搜集整理 IP字符串转换成可比较大小的数字,具体代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include "stdio.h" #include "arpa/inet.h" #include using namespace std; // linux c/c++ IP字符串转换成可比较大小的数字 // g++ -o test_ip_unsigned test_ip_unsigned.cpp int