2016-11-17 7 views
1

Поддерживается ли поддержка для чтения/записи XML-файлов? Если я правильно прочитал документы Aurelia, Aurelia-fetch-client и aurelia-http-client настроены для ожидающих типов ответов JSON (службы HTTP в документах Aurelia). У меня очень большой проект конверсии SPA и вы хотите использовать Aurelia. Однако все содержимое страницы и указатели выводятся в документе XML и отображаются с помощью идентификаторов GUID. Нужно ли мне создавать пользовательскую подпрограмму для XML для JSON для использования с Aurelia?Поддержка Aurelia для XML

ответ

4

Спецификация API Fetch в настоящее время не имеет методов для принятия/преобразования потока ответов в виде XML-документа (https://developer.mozilla.org/en-US/docs/Web/API/Response#Methods). (Тот же API-интерфейс Fetch используется Aurelia, если браузер поддерживает его, или использует полифилл (whatwg fetch), который реализует логику соответствия API)

Что вы можете сделать, это получить поток как текст, а затем проанализировать вывод с библиотекой, которая может анализировать XML.

Например, с ParseXML JQuery в (https://api.jquery.com/jQuery.parseXML/) метод:

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); 
     })); 
    } 
} 
+0

Спасибо за ответ. Я решил, что это будет что-то вроде этого. Я действительно надеялся избежать Углового - похоже, это решение. Я просто хочу, чтобы в рамках чего-то было. – RT1138