C# 如何处理带有未关闭标记的XML?

C# 如何处理带有未关闭标记的XML?,c#,xml,C#,Xml,我有以下Xml文件 <?xml version="1.0" encoding="UTF-8"?> <session xmlns="http://winscp.net/schema/session/1.0" name="test" start="2014-04-04T15:54:09.728Z"> <upload> <filename value="D:\ftp\test1.TXT" /> <destination valu

我有以下Xml文件

<?xml version="1.0" encoding="UTF-8"?>
<session xmlns="http://winscp.net/schema/session/1.0" name="test" start="2014-04-04T15:54:09.728Z">
  <upload>
    <filename value="D:\ftp\test1.TXT" />
    <destination value="/in/test1.TXT" />
    <result success="true" />
  </upload>
  <touch>
    <filename value="/in/test1.TXT" />
    <modification value="2014-03-27T12:45:20.000Z" />
    <result success="true" />
  <upload>
    <filename value="D:\ftp\test2.TXT" />
    <destination value="/in/test2.TXT" />
    <result success="true" />
  </upload>
  <touch>
    <filename value="/in/test2.TXT" />
    <modification value="2014-03-27T12:45:20.000Z" />
    <result success="false" />
  </touch>
</session>
它工作得很好,但我的问题是,有时我读取带有uclosed标记的xml: 比如说

<?xml version="1.0" encoding="UTF-8"?>
    <session xmlns="http://winscp.net/schema/session/1.0" name="test" start="2014-04-04T15:54:09.728Z">
      <upload>
        <filename value="D:\ftp\test1.TXT" />
        <destination value="/in/test1.TXT" />
        <result success="true" />
      </upload>
      <touch>
        <filename value="/in/test1.TXT" />
        <modification value="2014-03-27T12:45:20.000Z" />
        <result success="true" />
      <upload>
        <filename value="D:\ftp\test2.TXT" />
        <destination value="/in/test2.TXT" />
        <result success="true" />

在这种情况下,上面的代码将无法工作,如何更改它以读取带有未关闭标记的xml文件


非常感谢您的帮助

不能,因为除非xml有效,否则集合将无效。在对xml运行此代码之前,请考虑对其进行验证。

带有未关闭/缺少标记的xml不是xml;这是一些碰巧与XML相似的文本。最好的解决方案是获取[有效]XML。
<?xml version="1.0" encoding="UTF-8"?>
    <session xmlns="http://winscp.net/schema/session/1.0" name="test" start="2014-04-04T15:54:09.728Z">
      <upload>
        <filename value="D:\ftp\test1.TXT" />
        <destination value="/in/test1.TXT" />
        <result success="true" />
      </upload>
      <touch>
        <filename value="/in/test1.TXT" />
        <modification value="2014-03-27T12:45:20.000Z" />
        <result success="true" />
      <upload>
        <filename value="D:\ftp\test2.TXT" />
        <destination value="/in/test2.TXT" />
        <result success="true" />