Имя не может начинаться с символа '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 будет выполнять работу