【问题标题】:c# xml string special characters An error occurred while parsing EntityName. Line 1,c#xml字符串特殊字符解析EntityName时出错。 1号线,
【发布时间】: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 它用转义版本 (&amp;lt;/&amp;gt;) 替换所有尖括号 - 所以 ecnodedXml 不是 xml 文档。
  • 之所以使用 System.Security.SecurityElement.Escape 是因为 ds.ReadXml(New XmlTextReader(new StringReader(encodedXml))) 会抛出错误。

标签: xml dataset character


【解决方案1】:

ds.ReadXml(string) 采用 XML 文件的文件名而不是包含 XML 的字符串

【讨论】:

  • 对不起,我错过了原始帖子中的 XmlTextReader(new StringReader(encodedXml)),但结果是相同的错误。 <节点>它是我的“节点”。 &我喜欢它<节点>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 2011-04-11
  • 2013-07-25
相关资源
最近更新 更多