XML特殊字符处理的一点心得
作者:techmango 日期:2006-06-23
1. Xml的属性如通过node.setAttibute方法赋值,则通过TranferToXmlEntity自定义函数来转换xml中的特殊字符。
2. Xml的属性如通过拼凑字符串的方式来赋值,则通过TranferToXmlEntity1自定义函数来转换xml中的特殊字符。
总之将传到后端aspx页面的xml属性值转换成如下格式:
<转化成<后台通过c#的Attribute方法转换成<存入数据库
>转化成>后台通过c#的Attribute方法转换成>存入数据库
‘转化成'后台通过c#的Attribute方法转换成'存入数据库
“转化成"后台通过c#的Attribute方法转换成"存入数据库
&转化成&后台通过c#的Attribute方法转换成&存入数据库
后台向前台组装xml时
a. 组装字符串方式,如:
foreach(E_Organ d in iterator)
{ strxml.Append("<OrganList ");
strxml.Append("OrganId='");
strxml.Append(d.OrganId);
strxml.Append("' ");
strxml.Append("OrganName='");
strxml.Append(d.OrganName);
strxml.Append("' ");
……
}
Response.Write(strxml.ToString());
说明:
通过这种方式程序不用作改动。
b.
1. 通过节点的OuterXml属性,如:
itembanknode.SetAttribute("ItemBankName",itembankname);
.....
Response.Write(xmldoc.DocumentElement.OuterXml)
说明:
通过这种方式会将文档中的(&)字符转换成(&),因此要作如下的转化:
Response.Write(xmldoc.DocumentElement.OuterXml.Replace("&","&"));
3.Xml节点的text值中如有特殊字符,则通过TranferToXmlEntity自定义函数来转换xml中的特殊字符
总之将传到后端aspx页面的xml节点的text值转换成如下格式:
<转化成<
>转化成>
‘转化成'
“转化成"
&转化成&
后台通过Node.innerXml将对上述的转义符作如下转换
<将不变存入数据库
>将不变存入数据库
'将转化成'存入数据库,(有点特殊)
"将转化成"存入数据库,(有点特殊)
&将不变存入数据库
后台向前台组装xml时,保持原有的数据库中的格式不变即可。
前端javascript通过node.text会要将转义符自动转换成他原有的格式。
23
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags: