C# 生成XML时的特殊字符出现异常处理
生成端处理
将要写入的值的前后写上如:"<![CDATA[" + string+ "]]>";
XmlNode xnformchild = doc.CreateNode(XmlNodeType.Element, dc.ColumnName.ToUpper(), "");
try
{
xnformchild.InnerXml = drform[dc.ColumnName].ToString();
xnform.AppendChild(xnformchild);
}
catch
{
xnformchild.InnerXml = "<!--[CDATA[" + drform[dc.ColumnName].ToString() + "]]-->";
xnform.AppendChild(xnformchild);
}
接收端处理将生成端写入的:"<![CDATA["和 "]]>"分别替换即可
string startCdata = "<!--[CDATA[";
string endCdata = "]]-->";
if (fieldValue.StartsWith(startCdata) && (fieldValue.EndsWith(endCdata)))
{
fieldValue = fieldValue.Replace(startCdata, "");
fieldValue = fieldValue.Replace(endCdata, "");
}
简单吧,这样就可以解决xml存取特殊字符出现异常的问题,当然你在生成端只在存
有特殊字符的地方加上就行了,其它地方的不用加
相关文档:
首先了解一下什么是Qname
下面是一篇写的比较好的关于Qname的介绍:
http://blog.csdn.net/fbysss/archive/2007/06/24/1664076.aspx
可见Qname主要是处理namesapce的,是指具有特定前缀的xml element。而且Qname就是QualifiedName的缩写,所以Qname在C#中对应的应该是XmlQualifiedName这个类 ......
XML Schema 中 import 和 include 的区别
XML Schema 允许将一个XSD文件分为几个文件存放,在必要时使用 import 或者 include 进行导入。这二者的区别是:
import:只能导入不同命名空间的XSD
include:只能导入相同命名空间的XSD,或被导入的XSD未声明命名空间
例子:
<xsd:import namespace=”http://acme ......
利用 Page.RegisterStartupScript("", "<script language='javascript'> results();</script>");
或者是 Page.RegisterClient ......
<@Aattention Content="本Blog原创文章,转载或引用请注明转载"
from="Robby.cnblogs.com"@>
由于自己的搜索引擎中做到了这一块内容,所以今天说说如何抓取网页数据、分析并且去除Html标签,给大家提供一个参考。我的平台是Visual
Studio2005,C#。
& ......