Имя не может начинаться с символа '1', шестнадцатеричного значения 0x31. Строка 2, позиция 2

При загрузке XML файла в приложении С# я получаю

Имя не может начинаться с символа '1', шестнадцатеричного значения 0x31. Строка 2, позиция 2.

Тег XML начинается следующим образом.

<version="1.0" encoding="us-ascii" standalone="yes" />
<1212041205115912>

Я не должен менять этот тег любой ценой.

Как я могу это решить?

Ответ 1

IF вы абсолютно не можете изменить его, например. по какой-то причине формат уже вышел в дикой природе и используется другими системами/клиентами/независимо.

Поскольку это недопустимый xml-документ, попробуйте очистить его до его разбора. например. создать регулярное выражение, которое заменяет все < число > теги с <IMessedUp> число </IMessedUp> а затем проанализируйте его.

Отметьте способ, чтобы сделать это, но я решит вашу проблему.

Ответ 2

Вы должны изменить имя тега, поскольку тот, который вы написали, нарушает стандарт xml. Просто вспомнить интересную его часть:

Правила именования XML

Элементы XML ДОЛЖНЫ следовать этим правилам именования:

  • Имена могут содержать буквы, цифры и другие символы
  • Имена не могут начинаться с цифры или символа пунктуации
  • Имена не могут начинаться с букв xml (или XML, или Xml и т.д.)
  • Имена не могут содержать пробелы

Любое имя может использоваться, слова не зарезервированы.

в качестве предложения для решения вашей проблемы, связанной с стандартом:

  • Используйте атрибут, т.е. < Number value="1212041205115912"/>
  • Добавить префикс к тегу, т.е. <_1212041205115912/>

Конечно, вы можете создать структуру, которую вы предлагаете, написав собственный синтаксический анализатор формата, но я могу сказать, что это будет очень плохая идея, потому что в будущем кто-то, вероятно, расширит формат и не будет рад видеть, что файл, который кажется xml, на самом деле не является, и он/она может рассердиться на это. Кроме того, если вы хотите использовать свой собственный формат, используйте что-то более простое, я имею в виду: messing текстовый файл с некоторым '<' и ' > ' не добавляет никакого значения, если оно не является официально признанным форматом, лучше использовать вместо него простой текстовый файл.

Ответ 3

Если вам нужно обработать этот документ, перестань думать об этом как XML и отбросьте любые мысли об использовании инструментов XML для его обработки. Вы имеете дело с проприетарным форматом, и вам нужно будет написать свои собственные инструменты для его обработки. Если вам нужны преимущества использования технологии XML, вам придется перепроектировать ваши документы, чтобы они были корректными XML.

Ответ 4

добавление "_" для значения тега XML будет выполнять работу