#angular #xml #angular7
#angular #xml #angular7
Вопрос:
Я хотел бы открыть новое окно после события щелчка и показать структуру xml. Я не хочу, чтобы браузер интерпретировал мой xml.
Я пробовал с этим:
window.open('data:text/xml;charset=utf-8,<?xml version="1.0" encoding="UTF-8"?><RootTag>' xml '</RootTag>', "", "_blank")
с Chrome это не работает.
Ответ №1:
Здесь у вас есть два вопроса
-
Чтобы открыть окно, используйте всплывающий / модальный элемент управления (например, NgBootstrap Modal) или используйте angular routing для перехода на другую страницу.
-
Чтобы просто показать xml, запишите его в интерполяцию. Что-то вроде этого.
<div style="white-space:pre; font-size:12px; font-family:monospace;">{{getXML()}}</div>
и в компоненте,
getXML() {
return "<RootTag>xml</RootTag>";
}
Пожалуйста, найдите пример кода.
Ответ №2:
Я решил эту проблему с помощью этого кода в component.ts
let blob = new Blob([text], {type: 'text/xml'});
let url = URL.createObjectURL(blob);
window.open(url);
URL.revokeObjectURL(url);
Это откроет новое окно с представлением только для xml.