Escap 0x1b 等无效字符在XML 文档中的处理

missiles 2007-04-18 09:06:24
大家好,
我写了一个web service,里面有一个接口要返回一个比较长的字符串给远端调用程序,字符串里包含 0x1b等字符,这在XML文档中是无效字符,所以返回时
axis会报告错误。
请问有什么方法可以处理包含无效字符的字符串,让XML文档可以正确返回数据?
多谢!
...全文
369 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmzsl 2007-04-18
  • 打赏
  • 举报
回复
使用CDATA啊!不就可以了嘛?用CDATA包起来
yeah920 2007-04-18
  • 打赏
  • 举报
回复
upppppp
missiles 2007-04-18
  • 打赏
  • 举报
回复
我试了一下CDATA方法,不过没有成功,大家帮忙看一看
code:

string recv_data(int sock)
{
char buf[1024];
char *p = (char *)&buf;
strcpy(p,"<![CDATA[");
p+=9;
int count = recv(sock,p,1000,0);
p+=count;
strcpy(p,"]]>");
p+=3;
*p = '\0';
p = (char *)&buf;
string str = p;
return str;
}
返回的str交给XML文档处理,里面仍然回返回0x1b错误,XML文档不能处理str中包含的0x1b无效字符。
有什么办法吗?
missiles 2007-04-18
  • 打赏
  • 举报
回复
先谢谢楼上的。

程序需要从socket接受一段数据,数据里包含0x16等无效字符,现在需要将这些数据以XML格式返回



一. 安装方法 1.解压BaiduInput_blackberry_v1.0.0.7.zip文件,用黑莓桌面管理器加载baiduinput.alx,在安装时务必把默认的四个选项都打上勾。 2.安装完毕后会在出现一个百度记事本和一个百度输入法图标。 3.百度记事本是用在第三方程序的,请在系统设置里把右侧或左侧快捷键设到这个程序,以便于在第三方程序调用输入法. 4.百度输入法是输入法的各项设置,包括双拼、模糊音、键盘支持、词库管理等。 二.使用方法 1.在系统内置程序 (1)打开当前程序的输入界面,点击菜单键,在出现的菜单选择“百度输入法” (一般在顶部)。 (2)按心键(应用程序快捷键)切换英文状态。 (2)按返回键(escap)可以退出程序。 2.在第三方程序 (1)进入选项->屏幕/键盘设置任一快捷键到百度记事本(BaiduNotepad)。 (2)在需要输入处按下上一步设置好的快捷键。 (3)输入完文后退出,在需要的地方粘贴即可。 三.目前的版本支持以下功能: 1. 支持智能拼音及双拼输入,输入,始终高效; 2. 利用人体工学原理,特有针对黑莓键盘的五格快捷选字模式; 3. 支持自造用户词和删除,打造个人专属词库; 4. 支持词库备份到手机和网络,换手机也不丢词; 5. 把名片夹导入成用户词,免去拼写联系人的麻烦; 6. 兼容美式、德士、法式键盘布局,不再为键盘太特殊而头疼; 7. 还能更新百度流行词,掌握网络脉动! 注意:关于4,需要说明下 (1) 目前只支持英文和数字帐号,不支持文帐号登录,这个问题将在下个版本解决; (2) 有的机型y和z换位了,有的机型a和z换位了,密码输入错误的时候请尝试对调一下; (3) 目前发现cmwap接入点登录可能有点问题,请用cmnet或wifi接入 详细设置: http://hi.baidu.com/glaivelee/blog/item/5b69f4ef0a1b123bacafd580.html

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧