意外的文件结尾:元素未关闭VB xmlreader:解析?

意外的文件结尾:元素未关闭VB xmlreader:解析?,xml,vb.net,Xml,Vb.net,所以,这个例子来自MSDN。 我所做的唯一改变就是创建了一个循环,因为我有一个xmlstring,我想将它分解,并从中创建tif文件 我的问题是:while循环中的readbytes在最后一次通过循环时抛出一个异常,表示我有一个意外的文件结尾;以下元素未关闭并列出它们 公共共享子基文件 Dim buffer999作为字节 Dim readBytes为整数=0 使用读取器作为XmlReader=XmlReader.Createxmlstring Dim outputFile作为新文件流MC:\ar

所以,这个例子来自MSDN。 我所做的唯一改变就是创建了一个循环,因为我有一个xmlstring,我想将它分解,并从中创建tif文件

我的问题是:while循环中的readbytes在最后一次通过循环时抛出一个异常,表示我有一个意外的文件结尾;以下元素未关闭并列出它们

公共共享子基文件 Dim buffer999作为字节 Dim readBytes为整数=0 使用读取器作为XmlReader=XmlReader.Createxmlstring Dim outputFile作为新文件流MC:\artFiles\data\newImage.jpg,FileMode.openor创建,FileAccess.Write,FileShare.Write '读取图像元素。 reader.ReadToFollowingimage '读取Base64数据。 Console.WriteLinevbCr+vbLf+Reading Base64。。。 将bw作为新的BinaryWriteroutputFile进行Dim readBytes=reader.ReadElementContentAsBase64buffer,0,50 而readBytes>0 Writebuffer,0,readBytes readBytes=reader.ReadElementContentAsBase64buffer,0,50 结束时 outputFile.Close 终端使用 结束子“Base64DecodeImageFile” 因此,在readtofollowingimage之后,有一些标记保持打开状态。我试着捕捉异常,但没有用,试着一直读到eof,没有用。我真的不需要关闭元素,我只需要继续,因为我使用图像标记中的内容创建了文件

谢谢你的帮助


编辑:我认为我的xmlstring有时会太大,无法在不降低太多速度的情况下进行解析…/解析二进制数据

好吧!我发现了我的问题..我想我无论如何都会发布答案来帮助其他人?问题不在读者身上,事实上,它确实很有效。问题在于xmlstring本身。字符串从未创建我需要的结束标记,这将在最后一次循环中发生。
谢谢你们的帮助,伙计们

也许您不需要关闭它们,但您使用的是XML,它们需要关闭它们;你能在解析XML之前检查完整性吗?老实说,XML不是我的强项。我不知道怎么…:那么谷歌和很多读者就是你的朋友;。。如果您正在构建xml,请检查您是否正在构建它好的..是的,我现在正在阅读。。但是这样做会减慢我的程序吗?没有任何线索。。你得测试一下。。