首页 > 其他 > 详细

xml特殊字符处理

时间:2016-08-03 14:48:11      阅读:310      评论:0      收藏:0      [点我收藏+]

xml文件的特殊字符有5个:< > & " ‘  

xml解析器会对xml中所有值进行解析,所以xml文件某些值含有特殊字符时,就需要对该值进行处理,否则会报错。

 

当xml文件中某节点中放置了包含<或者&字符的值时,此时xml文件或报错,例如:

<Name>aa < bb & cc</Name>

为了避免此类错误,需要把非法字符 "<" 和字符"&"替换为实体引用 :

<Name>aa &lt; bb &amp; cc</Name>

 

在xml中有5个预定义的实体引用(entity reference):

 

特殊符号 实体引用 XML中的含义  
< &lt; 新元素的开始 小于号
> &gt;   大于号
& &amp; 字符实体的开始 逻辑与
" &quot;   双引号
&apos;   单引号

注意:只有"<"和"&",对于xml来说是严格禁止使用的。引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

 

下面的函数用于把特殊字符转换为实体引用

public static string EncodeXml(string xmlStr)
{

    if (string.IsNullOrEmpty(xmlStr))
    return "";
    if (xmlStr.Contains("&") || xmlStr.Contains("<") || xmlStr.Contains(">") || xmlStr.Contains("\"") || xmlStr.Contains("\‘"))
    {
        xmlStr = xmlStr.Replace("&", "&amp;");
        xmlStr = xmlStr.Replace("<", "&lt;");
        xmlStr = xmlStr.Replace(">", "&gt;");
        xmlStr = xmlStr.Replace("\"", "&quot;");
        xmlStr = xmlStr.Replace("\‘", "&apos;");
    }

    return xmlStr ;

  }

 

生成xml文件并保存到本地请参照我上一篇随笔:c#生成xml文件并保存到本地

xml特殊字符处理

原文:http://www.cnblogs.com/Carrie-J/p/5732371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!