有这样一个字符串:
<student>
  <name>n<name</name>
</student>
如何通过xml的方式拿到name标签中的值呢(里面有特殊字符"<",loadXML方法报异常)?
求大侠们帮帮忙!!!

解决方案 »

  1. <name>n&lt;name</name>
      

  2. <转义是&lt;  >是&gt; 和html差不多,http://www.w3school.com.cn/xml/xml_cdata.asp
      

  3. 如果不行还可以用"<![CDATA[" ,CDATA里面你想写什么都可以,
      

  4. public static string EncodeXml(string strHtml)
            {
                if (string.IsNullOrEmpty(strHtml))
                    return "";            strHtml = strHtml.Replace("&", "&amp;");
                strHtml = strHtml.Replace("<", "&lt;");
                strHtml = strHtml.Replace(">", "&gt;");
                strHtml = strHtml.Replace("'", "&apos;");
                strHtml = strHtml.Replace("\"", "&quot;");
                return strHtml;        }或者
            public static string HtmlEncode(string str)
            {
                return HttpUtility.HtmlEncode(str);
            }
      

  5. 这样不行的啊,如何把<name>n<name</name>转换成<name>n&lt;name</name>呢?
    replace会把所有特殊字符都替换掉的。
      

  6. 你先替换了.在添加到xml里面.
      

  7. XML变为字符串后使用 .Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("'", "&apos;");对字符进行转义就可以了。
      

  8. 如果这种字符串太多,建议用"<![CDATA[" 把他们括起来,这样就不会出错,
      

类似问题 »