我调用一个简单的webservice,要返回一个xml字符串<root>hello</root>。但是,返回的确是&lt;root&gt;hello&lt;/root&gt;
为什么会这样呢,我怎样做才能转换成我想要的xml字符串。有没有replace以外的方法呢。大家有遇到类似问题的吗,我google了半天也没结果,谢谢。

解决方案 »

  1.   

    <>这两个字符在XML中是有意义的,如果内容中包含,可以放在<![CDATA[ 与 ]]>中间
      

  2.   

    webservice是程序解析XML,不可以自己弄XML字符串,如果一定要,可以如上用 "<![CDATA[" 与 "]]>"括起来
      

  3.   

    现在通过c#,用两种方式来调用webservice,该webservice返回一个xml字符串,我再对这个xml字符串进行解析:
    第一种是通过HttpWebRequest的请求方式。返回的xml字符串被转义了:< 被变成了&lt;, > 被变成了 &gt; 
    第二种是通过visual studio提供的静态调用方式,生成代理类。返回的xml字符串是没有问题的,正常的字符串但是,第一种方式无疑是更好的解决方式。有的人说把返回的string中的&lt; 和 &gt; 分别用< 和 > 进行替换。我觉得应该有更好的解决办法。请各位高手再看看,谢谢!
      

  4.   

    自己解决了。HttpUtility.HtmlDecode(xmlstr);