Поддержка Aurelia для XML
Будет ли предоставлена поддержка для чтения / записи XML-файла? Если я правильно прочитал документы Aurelia, Aurelia-fetch-client и aurelia-http-client настроены для / ожидающих типов ответов JSON (HTTP-сервисы в Aurelia-документах). У меня очень большой проект преобразования SPA и я хочу использовать Aurelia. Однако все содержимое страницы и указатели выводятся в XML-документе и отображаются через идентификаторы GUID. Нужно ли создавать собственную подпрограмму для XML в JSON для использования с Aurelia?
1 ответ
Спецификация API Fetch в настоящее время не имеет методов для получения / преобразования потока ответов в виде XML-документа ( https://developer.mozilla.org/en-US/docs/Web/API/Response). (Тот же API выборки используется Aurelia, если браузер поддерживает его или использует полифилл (whatwg fetch), который реализует логику сопоставления с API)
Что вы можете сделать, это получить поток в виде текста, а затем проанализировать вывод с помощью библиотеки, которая может анализировать XML.
Например, с помощью метода parseXML ( https://api.jquery.com/jQuery.parseXML/) в jQuery:
import {autoinject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-fetch-client';
import 'fetch';
import * as $ from 'jquery';
@autoinject
export class XMLFetchTest {
constructor(private http: HttpClient) {
http.configure(config => {
config
.useStandardConfiguration()
.withBaseUrl('/src/');
});
}
public activate() {
return this.http.fetch('test.xml')
.then(response => response.text())
.then(text => {
let doc = $.parseXML(text);
}));
}
}