Aurelia 支持 XML

Aurelia support for XML

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

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

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

的库来解析输出

例如 jQuery 的解析XML (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);
      }));
  }
}