如何保留XML中的特殊字符

lanlicen 2013-04-17 05:46:10
XML中有一段字符串包含特殊字符,例如:
%USERSTARTMENU%\eBayÒ×Ȥ--È«ÇòÉÌÆ·Ò»Íø´ò¾¡.lnk

但是我用XDocument或者XElement来解析之后, 类似于Ò的特殊字符都被转换了,如何做才能保留这些特殊字符而不被自动转换呢?

谢了
...全文
211 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
申江渔夫 2013-04-19
  • 打赏
  • 举报
回复
可以考虑用xslt,不过实现起来似乎不简单
lanlicen 2013-04-19
  • 打赏
  • 举报
回复
顶起来,来个高手解答一下我的问题吧
lanlicen 2013-04-18
  • 打赏
  • 举报
回复
引用 4 楼 weblogical 的回复:
很简单啊 在C#中,生成XML 如果量比较大的话,就用对象组合-->序列化成XML,这是工作量最小的方法了 至于生成CDATA数据 有两种思路 1.序列化后 再用XmlDocument 对象插入CDATA 2.让你的实体类 继承 IXmlSerialize 重写方法。 C# code?1234567891011121314public clas……
我不是要生成XML,而是现在已经有很多这种有特殊字符的XML了,我需要正确的处理这些XML,保留这些特殊字符而不是被转义
weblogical 2013-04-18
  • 打赏
  • 举报
回复
很简单啊 在C#中,生成XML 如果量比较大的话,就用对象组合-->序列化成XML,这是工作量最小的方法了 至于生成CDATA数据 有两种思路 1.序列化后 再用XmlDocument 对象插入CDATA 2.让你的实体类 继承 IXmlSerialize 重写方法。

public class CData : IXmlSerializable

[XmlElement("QueryContentSource", Type = typeof(CData))]
        public CData QueryContentSource
        {
            get
            {
                return queryContentSource;
            }
            set
            {
                queryContentSource = value;
            }
        }
lanlicen 2013-04-18
  • 打赏
  • 举报
回复
楼上两位,改动XML工作量太大,因为有非常多的XML,我不能去一个一个改,能否从解析XML方面入手解决该问题呢?
wanghui0380 2013-04-17
  • 打赏
  • 举报
回复
使用cdata标记,把东西括起来就可以
dengixnyu 2013-04-17
  • 打赏
  • 举报
回复
加个CDATA。就不会解析了。 http://blog.csdn.net/mznewfacer/article/details/7620157

110,566

社区成员

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

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

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