none
如何在 XElement 中把 ’ 替换成' RRS feed

  • 问题

  • string specialStr = "D'ARCY ST.";
    specialStr = specialStr.Replace("&", "&").
      Replace("<", "&lt;").
      Replace(">", "&gt;").
      Replace("'", "&apos;").
      Replace("\"", "&quot;").ToString();
    XElement s = new XElement("s", specialStr);
    Console.WriteLine(s);
    输出的结果是:<s>D&amp;apos;ARCY ST.</s>

    而我想要的结果是:<s>D&apos;ARCY ST.</s>

    显然,XElement默认的把&又替换成了&amp。


    http://photographer-leon.blogspot.com/
    2009年10月5日 18:00

答案

  • 你好,

    直接替换掉:

     

    var stringtobesaved = s.ToString().Replace("&amp;apos;", "&apos;");

     

     



    然后自己把这个string存到文件里就可以了.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. Welcome to the All-In-One Code Framework http://cfx.codeplex.com/! If you have any feedback, please tell us.
    2009年10月8日 2:19
    版主

全部回复

  • XML实体中不允许出现"&","<",">"等特殊字符
    可以这样
       XElement s = new XElement("s", specialStr);
                Console.WriteLine("<s>{0}</s> ",s.Value);
    2009年10月6日 3:31
  • 这样输出是没问题。但是我要调用 s.Save("path"),保存成xml文件,s是一个很大的xml 。' 如何替换成&apos; ?

    http://photographer-leon.blogspot.com/
    2009年10月6日 13:24
  • 我那就不明白为什么非要转换“'”成&apos;?
    xml支持“'”
    2009年10月6日 13:45
  • 因为USER的需求啊。
    http://photographer-leon.blogspot.com/
    2009年10月6日 13:55
  • 你好,

    直接替换掉:

     

    var stringtobesaved = s.ToString().Replace("&amp;apos;", "&apos;");

     

     



    然后自己把这个string存到文件里就可以了.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. Welcome to the All-In-One Code Framework http://cfx.codeplex.com/! If you have any feedback, please tell us.
    2009年10月8日 2:19
    版主