复制XML的数据到sql2005中遇到的问题,请高手帮忙啊
我用如下方法复制XML的数据到sql2005中,
string xmlFilename;
xmlFilename = sXMLFile;
DataSet newDataSet = new DataSet();
foreach ( DataTable t in newDataSet.Tables)
{
t.BeginLoadData();
}
newDataSet.ReadXml(xmlFilename);
foreach (DataTable t in newDataSet.Tables)
{
t.EndLoadData();
}
现在遇到问题,就是 在数据中有怪字符,就会newDataSet.ReadXml(xmlFilename)的时候抱错,
“ ”(十六进制值 0x1C)是无效的字符。 行 31882,位置 112。
<scaddress> <![CDATA[哈尔滨 ]]> </scaddress>
哈尔后面的这个 就是那个怪字符
XML是如下方法生成的
set @bcp= 'bcp "select row from ##B2BXMLTemp order by id asc " queryout " '+@FilePath+ ' " -c -S '+@sqlserver+ ' -U '+@UserName + ' -P '+@PassWord
exec master..xp_cmdshell @bcp
请问, 有什么方法可以解决这个问题?不论在导出XML数据的时候屏蔽怪字符,或导入的时候,只要解决这个问题就好,万分感谢
------解决方案--------------------我只做过sql2000到xml,还没做过这个。关注。。帮顶
------解决方案--------------------这是这个xml类的规定.不能出现非法字符