sHtml=System.Text.StringBuilder(xmlobject);
sHtml=sHtml.Replace("&","&");
sHtml=sHtml.Replace("<","<");
sHtml=sHtml.Replace(">",">");这样输出后,为什么xml的Content内容很多都被屏蔽掉了,例如<%%>(asp&asp.net&sql技术文档里面的内容).如果是纯文字倒没有出错,技术文档问题就很多,里面的一些代码在前台都显示不了,在XML的Content字段里面都存在的,就是输出HTML的时候被替换掉了
在网吧上网,代码有些不全,请大家帮忙一下
sHtml=sHtml.Replace("&","&");
sHtml=sHtml.Replace("<","<");
sHtml=sHtml.Replace(">",">");这样输出后,为什么xml的Content内容很多都被屏蔽掉了,例如<%%>(asp&asp.net&sql技术文档里面的内容).如果是纯文字倒没有出错,技术文档问题就很多,里面的一些代码在前台都显示不了,在XML的Content字段里面都存在的,就是输出HTML的时候被替换掉了
在网吧上网,代码有些不全,请大家帮忙一下
<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[]>???
如果你用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;
<xsl:value-of select="article/@Content" disable-output-escaping="yes"></xsl:value-of>这样显示后好象不起作用,我先回家测试一下了!不行的话在发贴谢谢各位
Replace(">",">");
Replace("&","&");
这样就好了!晕