Как экранировать символ «SOH» в xml 1.0 с помощью библиотеки «xml2js»? - PullRequest
0 голосов
/ 14 апреля 2019

В настоящее время я работаю над кодом javascript для запроса внешнего API моей сети.

Ответ API в формате JSON, и мой код преобразовывает его в формат XML. Запрос и преобразование данных работает хорошо.

К сожалению, когда я хочу использовать выходной XML-файл для вставки данных в приложение, у меня возникает ошибка с символом «SOH». Это единственный тип символов, с которым у меня проблема.

В этом приложении я могу использовать только 4 библиотеки, потому что код выполняется в изолированной среде. Разрешенные библиотеки: «request», «xpath», «xmldom» и «xml2js», и я обязан использовать xml 1.0, потому что я видел, что в версии 1.1 xml обрабатывался символ SOH.

Кто-то знает, как экранировать или заменить этот символ в моем выводе xml?

Если вам нужна дополнительная информация, дайте мне знать.

Заранее спасибо!

Ниже приведен пример моей ошибки:

<upper_xmlTag>...
<xmlTag>my_string SOH (the character appears in the middle of the sentence.) end_of_string</xmlTag>
<bottom_xmlTag>...

1 Ответ

0 голосов
/ 14 апреля 2019

Как вы заметили, символ SOH (0x01) недопустим в XML 1.0, и стандартного способа его представления в XML не существует.

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

Один способ, не обязательно правильный или лучший, это использовать инструкцию обработки, такую ​​как <?hex 01?>.

...