【发布时间】:2012-06-12 04:00:42
【问题描述】:
请帮助解释为什么数据集无法读取编码的 xml?
string xml = "<?xml version=\"1.0\" standalone=\"yes\" ?>
<DataSet><node>it's my \"node\" & i like it</node></DataSet>";
string encodedXml = System.Security.SecurityElement.Escape(xml);
DataSet ds = new DataSet();
ds.ReadXml(New XmlTextReader(new StringReader(encodedXml)));
我已经检查了链接http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx 我想要做的是将带有特殊字符的字符串读入数据集。 任何人都可以提供代码来将带有特殊字符的字符串读入数据集。 非常感谢
【问题讨论】:
-
这还能编译吗?您的字符串文字中有未引用的字符串字符...例如“1.0”
-
您是否尝试删除对
System.Security.SecurityElement.Escape的调用?因为 doc sais 它用转义版本 (&lt;/&gt;) 替换所有尖括号 - 所以ecnodedXml不是 xml 文档。 -
之所以使用 System.Security.SecurityElement.Escape 是因为 ds.ReadXml(New XmlTextReader(new StringReader(encodedXml))) 会抛出错误。