Angular открывает новое окно и отображает xml

#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:

Здесь у вас есть два вопроса

  1. Чтобы открыть окно, используйте всплывающий / модальный элемент управления (например, NgBootstrap Modal) или используйте angular routing для перехода на другую страницу.

  2. Чтобы просто показать 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.