Конвертировать XML в Base64, используя Javascript

1

В моем коде я преобразовал данные из модели JSON в XML. Чтобы обеспечить правильное форматирование, я разбираю созданную XML-строку в XML Doc. (API не может работать с XML, который не хорошо отформатирован)

Поэтому мне нужна помощь в преобразовании моей переменной XML Doc в Base64 (вместо моей XML-строки) с использованием Javascript.

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlDataString,"text/xml");

Кто-нибудь знает функцию помимо btoa(), которая используется для преобразования строк?

Использование btoa (xmlDataString) возвращает ошибку API "Ошибка анализа XML-кода: неправильно сформирована" и использование btoa (xmlDoc) возвращает Base64, который возвращается при декодировании снова: "[object XMLDocument]"

Спасибо

  • 0
    Зачем использовать что-то еще, кроме btoa ()?
  • 0
    Насколько я знаю, btoa () используется только для строк. Тем не менее, у меня есть проанализированная переменная XML. Конечно, я попробовал это, результат, кажется, не соответствует результату внешних кодировщиков.
Показать ещё 3 комментария
Теги:
base64
data-conversion

1 ответ

0

Сериализуйте свой XML и затем конвертируйте в Base64: (новый XMLSerializer()). SerializeToString (xml);

prolog = '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';
var parser = new DOMParser();
XmlStr = prolog + "<bookz/>";
var xmlz  = parser.parseFromString(XmlStr, "application/xml");
console.log(window.btoa((new XMLSerializer()).serializeToString(xmlz)));

Результат:

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8Ym9va3ovPg==

  • 0
    Спасибо за вклад! API все еще выдает ошибку «Ошибка синтаксического анализа XML: не правильно сформирована» при вызове его с результатом.
  • 0
    Вам необходимо проверить спецификации API для формата, чтобы отправить запрос. Попробуйте добавить это в свой пост.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню