Подтвердить что ты не робот

Как удалить символ спецификации из моего xml файла

Я использую xsl для управления выходом моего xml файла, но добавляется символ спецификации.

4b9b3361

Ответ 1

# vim file.xml
:set nobomb
:wq

Ответ 2

File BOM Detector (бесплатное программное обеспечение для Windows) упрощает удаление знака порядка байтов.

Ответ 3

просто нужно добавить это в свой файл xslt:

<xsl:output method="text"
        encoding="ASCII"/>

Ответ 4

Просто разделите первые два байта с помощью любого шестнадцатеричного редактора.

Ответ 5

Удалить символ спецификации из строки с помощью XSLT довольно просто:

<xsl:value-of select="translate(StringWithBOM,'','')"/>

Ответ 6

У меня создалось впечатление, что XML рекомендуется записывать в Unicode, в некоторых кодировках Unicode, и что определенные кодировки Unicode указаны так, чтобы содержать начальный знак байтового байта. Без этой метки байта ваш файл больше не будет правильно закодирован в кодировке Unicode и, следовательно, больше не будет исправлять XML. Процессоры XML поощряются к неумолимости, чтобы немедленно сбой при малейшей ошибке (например, некорректная кодировка Unicode). Какие процессоры XML вы хотите сломать?

Очевидно, что удаление символа байтового байта из кодированного документа UTF-8 делает этот документ как кодированный ASCII (не Unicode), а некоторые текстовые процессоры способны использовать только кодированные ASCII документы. Это то, с чем вы работаете?

Ответ 7

Какая выходная кодировка используется вашим XSL-набором? Какая кодировка является входным документом? Откуда поступает вход, и где он был сохранен/выгружен/загружен в настоящее время?

XML и XSL должны по умолчанию использовать UTF-8, если ничего не указано. Но, очевидно, здесь что-то не так.

Одна вещь, которая может случиться, заключается в том, что XML обслуживается веб-сервером, который по умолчанию установлен в ISO-8859-1, довольно хорошем стандартном стандарте... pre-Unicode.

Немного не по теме, но Джоэл очень поучительная статья об текстовых кодировках была для меня откровением. Есть много людей, которые в тоже время очень умны в программировании, но которые упорствуют в том, чтобы мыслить там нечто вроде "простого текста" или называть их текст "ASCII" или "ANSI". Это проблема, с которой вам действительно нужно справиться, если вы еще этого не сделали.