【问题标题】:Aurelia support for XMLAurelia 对 XML 的支持
【发布时间】:2016-11-17 20:20:06
【问题描述】:

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

【问题讨论】:

    标签: aurelia aurelia-fetch-client


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。我想它会是这样的。我真的希望避免使用 Angular - 似乎这是解决方案。我只是希望框架中有一些东西。
    猜你喜欢
    • 1970-01-01
    • 2010-09-19
    • 2020-08-04
    • 2016-02-13
    • 1970-01-01
    • 2011-01-07
    • 2023-03-30
    • 2018-05-24
    • 2017-07-08
    相关资源
    最近更新 更多