2015-10-09 5 views
0

После того, как я окончательно вернул свой XmlReader для работы над проектом, я получаю определенные ошибки при анализе при попытке создания новых объектов Reader для определенных файлов XML. Например, этот, который продолжает встречаться, является ошибкой, пытающейся разобрать дефис (-). Это немного сбивает меня с толку, потому что я вручную вхожу и заменяю этот символ чем-то другим (например, подчеркиванием), и он отлично читается - даже когда в документе нет дефисов, которые не изменяются.Пронумеруйте все символы в файле XML и замените определенные символы

Итак, если есть объяснение, чтобы исправить это (возможно, некоторые XmlReaderSettings? Иметь еще какие-либо возможности, чтобы я не знал, на что они способны), что является лучшим синтаксисом/методом для циклического прохождения каждого символа и замените те, которые будут правильно разбираться?

Эта программа будет запускаться автоматически один раз в день на ежедневном добавленном XML и длительность времени выполнения не является проблемой.

Edit: Сообщение об ошибке:

System.Xml.XmlException: Произошла ошибка при разборе EntityName. Линия 2896, позиция 89.

Код:

  FN = Path.GetFileName(file1).ToString() 
     xmlFile = XmlReader.Create(Path.Combine(My.Settings.Local_Meter_Path, FN), New XmlReaderSettings()) 
     ds.ReadXml(xmlFile) 
     Dim dt As DataTable = ds.Tables(13) 
     Dim filecreatedate As String = IO.File.GetLastWriteTime(file1) 
+0

Показать образец xml. –

+0

1440 COUNTY ROAD 40 X-MAS LIGHT & RV # 2 CAMP HILL

+0

Ошибка возникает на «-» в X-Mas –

ответ

0

Если проблема возникает только в одном дефисе всего файл, даже если файл содержит более переносы, то проблема может быть связана с:

1) HYPHEN на самом деле не HYPHEN, а контрольный персонаж или даже выполненный из скрытого контрольного персонажа.

2) Ссылка имеет другие интересные тонкие, как амперсанд («&»), который в строках может вызвать некоторые проблемы. Вы уверены, что проблема в Hyphen?

+0

. Расположение линий и символов соответствует дефису, как указано выше. После удаления XMLReader отлично работает - даже если существуют другие дефисы –

+0

Если проблема связана с этим дефисом SPECIFIC, как я уже сказал, проблема может быть связана с символом элемента управления вместо дефиса. Попробуйте увидеть код ASCII этого дефиса, чтобы узнать, находится ли он под ASC (45). У вас есть ЛЮБАЯ переменная X в той же рутине? Что-то, что можно было бы интерпретировать как «40-x»? –

Смежные вопросы