首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
sql2005 输出XML后ASP.NET 的字符替换问题
[已结贴,结贴人:nighting1029]
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-08 13:03:05
楼主
sHtml=System.Text.StringBuilder(xmlobject);
sHtml=sHtml.Replace("&","&");
sHtml=sHtml.Replace("<"," <");
sHtml=sHtml.Replace(">",">");
这样输出后,为什么xml的Content内容很多都被屏蔽掉了,例如 <%%>(asp&asp.net&sql技术文档里面的内容).如果是纯文字倒没有出错,技术文档问题就很多,里面的一些代码在前台都显示不了,在XML的Content字段里面都存在的,就是输出HTML的时候被替换掉了
在网吧上网,代码有些不全,请大家帮忙一下
问题点数:
20
回复次数:
8
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fcuandy
要学术语
等级:
发表于:
2008-03-08 13:07:58
1
楼 得分:
15
可以不用replace ,将特殊字符以cdata标记,输出时指定 disable-output-escaping="yes"
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
supper168
早上好
等级:
发表于:
2008-03-08 13:10:12
2
楼 得分:
5
disable-output-escaping="yes"
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-08 13:15:31
3
楼 得分:
0
能否说的详细点,我xml也是初学不久
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-08 13:16:24
4
楼 得分:
0
disable-output-escaping="yes"这个好象不起作用,我有用过!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-08 13:22:41
5
楼 得分:
0
<Article>
<ArticleID>5 </ArticleID>
<UserID>000000 </UserID>
<src>其他 </src>
<UserName>admin </UserName>
<PostDate>2003-10-8 18:45:07 </PostDate>
<Title>测试上载文件2 </Title>
<Content> <![CDATA[ <P> <A HREF="/WebPub/Data/files/file.gif" BORDER="0"> <IMG src="/WebPub/file.gif"> file.gif </A>撒大发 </P>
<P>我们是公产注意接班人 </P> ]]> </Content>
<RoomID>52 </RoomID>
<Closed>N </Closed>
</Article>
类似这种,但是我的xml是sql生成的,sql里面又不能加 <![CDATA[]>???
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fcuandy
要学术语
等级:
发表于:
2008-03-08 13:27:31
6
楼 得分:
0
不需要替换.
如是你的xml是直接输出的话,那么还是显示的 &><这样的.
如果你用xsl格式化输出时,可以指定 那么就会显示为 & < > 这样的.
简单的例子.
declare @s varchar(1000)
set @s='asdf&bb'
select cast(@s as xml)
这里就会自动把 & 变为 &了.
因为xml中这些是预定义实体, xml数据文件上显示这些其实就是我们对应的字符.
就好比你认为c#里 bool型为 true false 而在sql里bit类显晃 1和0 一样. 表示法不同而已.
当然了,除了上面的方法,你还可以使用ascii码来代替预定义实体输出. #xxxx;
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-08 13:44:06
7
楼 得分:
0
恩,谢谢了!现在问题也说不明白,
我现在输出的时候,很多技术类文章的代码显示不了,我用sql2005 for xml auto,输出后,&就直接转换成&了,输出到HTML,很多html元素都没有了,不仅仅&
<xsl:value-of select="article/@Content" disable-output-escaping="yes"> </xsl:value-of>这样显示后好象不起作用,我先回家测试一下了!不行的话在发贴
谢谢各位
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
nighting1029
一个人的日子
等级:
发表于:
2008-03-09 08:52:55
8
楼 得分:
0
Replace("<"," <");
Replace(">",">");
Replace("&","&");
这样就好了!晕
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友