如何转义xml中的特殊字符

yanzonghu1 2011-10-26 03:02:01
有这样一个字符串:
<student>
<name>n<name</name>
</student>
如何通过xml的方式拿到name标签中的值呢(里面有特殊字符"<",loadXML方法报异常)?
求大侠们帮帮忙!!!
...全文
627 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanzonghu1 2011-10-28
  • 打赏
  • 举报
回复
问题已经解决,谢谢大家帮助
stonespace 2011-10-27
  • 打赏
  • 举报
回复
如果这种字符串太多,建议用"<![CDATA[" 把他们括起来,这样就不会出错,
krenyelang 2011-10-26
  • 打赏
  • 举报
回复
多多baidu.com一下……
SKY_JProGrammer 2011-10-26
  • 打赏
  • 举报
回复
XML变为字符串后使用 .Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("'", "'");对字符进行转义就可以了。
yanzonghu1 2011-10-26
  • 打赏
  • 举报
回复
我是做网页数据抓取的,有些数据不正规里面有特殊符号。这样就没办法解析了
jojoova 2011-10-26
  • 打赏
  • 举报
回复
为什么会有这种字符串呢,我觉得还是得从源头解决
kkbac 2011-10-26
  • 打赏
  • 举报
回复
你先替换了.在添加到xml里面.
yanzonghu1 2011-10-26
  • 打赏
  • 举报
回复
这样不行的啊,如何把<name>n<name</name>转换成<name>n<name</name>呢?
replace会把所有特殊字符都替换掉的。
kkbac 2011-10-26
  • 打赏
  • 举报
回复
public static string EncodeXml(string strHtml)
{
if (string.IsNullOrEmpty(strHtml))
return "";

strHtml = strHtml.Replace("&", "&");
strHtml = strHtml.Replace("<", "<");
strHtml = strHtml.Replace(">", ">");
strHtml = strHtml.Replace("'", "'");
strHtml = strHtml.Replace("\"", """);
return strHtml;

}


或者
        public static string HtmlEncode(string str)
{
return HttpUtility.HtmlEncode(str);
}
stonespace 2011-10-26
  • 打赏
  • 举报
回复
如果不行还可以用"<![CDATA[" ,CDATA里面你想写什么都可以,
stonespace 2011-10-26
  • 打赏
  • 举报
回复
<转义是< >是> 和html差不多,

http://www.w3school.com.cn/xml/xml_cdata.asp
stonespace 2011-10-26
  • 打赏
  • 举报
回复
<name>n<name</name>

110,536

社区成员

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

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

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