由于文件名,C#XmlException

由于文件名,C#XmlException,c#,xml,exception,C#,Xml,Exception,我正在为一个游戏开发一个启动器/更新程序。更新程序从服务器上的xml文件获取数据。到目前为止,我的代码(其中有一些来自其他代码的引用)运行得很好。我测试了它,它很好地下载了文件,然而,我用来测试它的文件是jpg的。启动器需要下载的实际文件是一系列字符,例如:(e}xP7,iIlM7Q8=&@vr2sv~]9.5 下载这些时,每次都会抛出一个异常。我对C不太在行,所以我想我应该在总能找到答案的地方寻求帮助 我的XML示例: <theupdates> <update>  

我正在为一个游戏开发一个启动器/更新程序。更新程序从服务器上的xml文件获取数据。到目前为止,我的代码(其中有一些来自其他代码的引用)运行得很好。我测试了它,它很好地下载了文件,然而,我用来测试它的文件是jpg的。启动器需要下载的实际文件是一系列字符,例如:(e}xP7,iIlM7Q8=&@vr2sv~]9.5 下载这些时,每次都会抛出一个异常。我对C不太在行,所以我想我应该在总能找到答案的地方寻求帮助

我的XML示例:

<theupdates>

<update>
    <version>1.1</version>
    <file>(e}xP7,iIlM7Q8=&@vR2-sv~]9.5.$}t]8</file>
    <path>http://test.m-containers.com/Updates/</path>
  </update>

  <update>
    <version>1.1</version>
    <file>;V;xP,S]PXKr8;{(8HO2NJ H-g;PAo_yTuIV</file>
    <path>http://test.m-containers.com/Updates/</path>
  </update>

<update>
    <version>1.1</version>
    <file>^_HZpQ;Xpi{QS`Ku,}@#B}JYW}Q+;gdO0</file>
    <path>http://test.m-containers.com/Updates/</path>
  </update>

<update>
    <version>1.1</version>
    <file>{G'A4l7O8]~nb(a!mrK5hE)o</file>
    <path>http://test.m-containers.com/Updates/</path>
  </update>

</theupdates>
有没有一种方法可以让它,基本上,在读到这些字符时不发脾气,或者,可能更合理,有更好的方法来处理这个问题

我感谢任何人能提供的见解

有没有一种方法可以让它,基本上,在读到这些字符时不发脾气,或者,可能更合理,有更好的方法来处理这个问题

对。使其成为有效的XML文件。这不是有效的XML:

<file>(e}xP7,iIlM7Q8=&@vR2-sv~]9.5.$}t]8</file>
(e}xP7,iIlM7Q8=&@vr2sv~]9.5.$}t]8
&
应该是
&;

我的猜测是,服务器没有使用适当的XML API生成XML—它只是以一种愚蠢的方式写出文本。永远不要这样做。在处理XML时,始终使用XML API,这样它就可以为您处理这类事情

您不必在客户端上修复此问题-为什么读取此数据的所有内容都要容纳一个损坏的写入程序?不清楚您是在控制服务器代码(在这种情况下,您应该修复它)还是第三方代码(在这种情况下,您应该大声对他们喊叫).不管怎样,如果明目张胆地将某个东西作为XML进行广告宣传,这都是一个坏主意

<file>(e}xP7,iIlM7Q8=&@vR2-sv~]9.5.$}t]8</file>