c#怎样把rtf信息保存到Sql server 2005的XML字段中

longshujun 2009-04-02 12:40:27
c#怎样把rtf信息保存到Sql server 2005的XML字段中,rtf信息作为XML字段内容其中一个节点的内容,因为rtf文本包含'(逗号)控制符,所以很难把它作为一个字符串保存进XML字段中的某一个节点,如:
update 表名 set abc='<node text="爱" rtf="{\rtf1\ansi\ansicpg936\deff0
\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs20\'b7\'c9\'b7\'ab\'b9\'fd\fs21\par}" > </node>' where idm=3
如果这样写的话,sql server 2005就会报错
"消息 102,级别 15,状态 1,第 3 行 'cb' 附近有语法错误。"
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longshujun 2009-04-02
  • 打赏
  • 举报
回复
input = input.Trim().Replace("\\\"", """);有误
应该是input = input.Trim().Replace("\"", """);
longshujun 2009-04-02
  • 打赏
  • 举报
回复
谢谢cppfaq ,已经按照你的方法实现了;但是要怎样才能把rtf文本从XML字段中读入到c# RichTextBox控件中呢?可否给我源代码,谢谢!
cppfaq 2009-04-02
  • 打赏
  • 举报
回复
public static string tryXML(String input) {
if (input == null) {
input = "";
return input;
}
input = input.Trim().Replace("&", "&");
input = input.Trim().Replace("<", "<");
input = input.Trim().Replace(">", ">");
input = input.Trim().Replace("'", "'");
input = input.Trim().Replace("\\\"", """);
return input;
}
cppfaq 2009-04-02
  • 打赏
  • 举报
回复
替换

取出来的时候反换


或者使用CDATA包起来

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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