Aurelia支持XML

时间:2016-11-17 20:20:07

标签: aurelia aurelia-framework aurelia-fetch-client

是否支持XML文件读/写?如果我正确阅读Aurelia文档,Aurelia-fetch-client和aurelia-http-client配置为/期望JSON响应类型(Aurelia docs中的HTTP服务)。我有一个非常大的SPA转换项目,并希望使用Aurelia。但是,所有页面内容和指针都在XML文档中输出并通过GUID进行映射。我是否需要构建XML到JSON的自定义例程以与Aurelia一起使用?

1 个答案:

答案 0 :(得分:4)

Fetch API规范目前没有任何方法可以将响应流转换/转换为XML文档(https://developer.mozilla.org/en-US/docs/Web/API/Response#Methods)。 (如果浏览器支持它,则Aurelia使用相同的fetch API,或者它使用实现API匹配逻辑的polyfill(whatwg fetch))

您可以做的是将流作为文本获取,然后使用可以解析XML的库解析输出。

例如使用jQuery的parseXML(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);
      }));
  }
}