XML数据中的&符号不允许加载xml

时间:2011-02-10 13:31:26

标签: c# .net xml

我正在使用一个网络服务,它正在检索我的xml,其中包含许多网址。我使用下面的代码加载它:

XmlDocument xdoc = new XmlDocument();
xdoc.Load(fileName.Trim());

如果任何元素的内容中存在任何&符号,则无法加载我的xml。 我的xml就像:

<media:thumbnail url="http://someurl/player/mezzanine/image.php?w=124&h=99&path=ndtv/a79d98c3030c041e0033105943c1b668_mezzn.jpg&hash=23991c2513a8e359d120840e6f897d4d" width="124" height="70" />
<media:fullimage url="" width="350" height="196" />

注意:我无法对Web服务进行更改,因为我从其他提供商处获取此信息。 请帮我。 感谢

我得到了这个例外:

  

System.Xml.XmlException:'='是一个意外的令牌。预期的标记是';'。第753行,第89位。

在这一行

<media:thumbnail url="http://someurl/player/mezzanine/image.php?w=124&h=99&path=ndtv/a79d98c3030c041e0033105943c1b668_mezzn.jpg&hash=23991c2513a8e359d120840e6f897d4d" width="124" height="70" />

3 个答案:

答案 0 :(得分:3)

如果您无法让提供程序修复其“XML”,那么最简单的方法是通过实用程序运行它,例如Tidy .NET,它会尝试补偿这些问题并返回一个格式良好的XML文件,您可以处理。

答案 1 :(得分:2)

&中的每个url替换为&amp;

答案 2 :(得分:2)

&替换&amp;为我修复了IE客户端XML解析器,我认为它是相同的库。有趣的是,FF没有问题与&amp;双引号之间的字符。