В моем коде я преобразовал данные из модели 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]"
Спасибо
Сериализуйте свой 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==