обработка плохого XML с помощью xmltextreader - PullRequest
0 голосов
/ 08 марта 2012

Я использую несколько методов для анализа xml, с xpathnavigator, выражениями регулярных выражений и т. Д. Некоторые из типов синтаксического анализа. Однако сначала я удаляю xml-записи, используя string.split или xpathnavigator, xmldocument.load и т. Д .; но обнаружил, что если есть запись с плохим xml, это создает ошибку, и все файлы заносятся в черный список во временную папку. Я подумал, что буду использовать xmltextreader для чтения каждой записи и добавления ее в список, но когда я добираюсь до неверной записи, я не уверен, как просто проигнорировать эту запись и перейти к следующей записи в документе xml.

Пример кода:

Try
     Dim ureader as XmlTextReader = New XmlTextReader(New StringBuilder(result))
     While ureader.read
       Try
           If ureader.Name = "entry" then
              page = ureader.ReadInnerXml
              entriesList.add("<entry>" & page & "</entry>")
           EndIf
       Catch ex as exception
          Continue While
       End Try
      End While

 Catch ex as Exception
      log.logError(ex.message.tostring)
 End Try
...