Я пытаюсь использовать C # XmlReader для большой серии XML-файлов, они все правильно отформатированы, за исключением нескольких избранных (к сожалению, я не в состоянии их изменить, потому что это сильно сломаетдругого кода).
Ошибки происходят только от одной конкретной части этих оскорбительных файлов XML, и можно просто их пропустить, но я не хочу прекращать чтение остальной части файла XML.
Плохие детали выглядят так:
<InterestingStuff>
...
<ErrorsHere OptionA|Something = "false" OptionB|SomethingElse = "false"/>
<OtherInterestingStuff>
...
</OtherInterestingStuff>
</InterestingStuff>
Так что если бы я мог просто игнорировать недопустимые теги или игнорировать символ канала, я был бы в порядке.
Попытка использоватьXmlReader.Skip (), когда я вижу имя «ErrorsHere», не работает, по-видимому, он уже читает немного вперед и выдает исключение.
TLDR: как пропустить, чтобы я мог читать в файле XMLвыше, используя XmlReader?
Редактировать:
Некоторые люди предлагали просто заменить символ '|', но идея XmlReader - не загружать весь файл, а только те части, которые вам нужны, поскольку я гЧтение непосредственно из файлов Я не могу позволить себе читать файлы целиком, заменить все экземпляры '|'а затем снова прочитайте части:).