【发布时间】:2020-05-25 20:10:24
【问题描述】:
希望您能帮助有需要的学校老师! 我正在向我们学校的数据库发出 HTTP 请求,它以 XML 形式返回数据。我希望将这些数据存储在一个数组中,以便我可以在 Angular 应用程序中显示每个学生的信息。 我的 students-list.component.ts 中的代码是:
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
declare var require: any; // this prevents the require error for rxjs
@Component({
selector: 'students-list',
template: `
<nav-bar></nav-bar>
<h1>Students</h1>
<hr/>
<student-thumbnail [student] = "students"></student-thumbnail>
`,
styleUrls: ['./students-list.component.css'],
})
export class StudentsListComponent implements OnInit {
constructor(private http: HttpClient) {}
students = [1, 2, 3];
url =
'https://'our site';
xmlBody = `<?xml version="1.0" encoding="utf-8" ?><Filters><MethodsToRun><Method>Pupil_GetCurrentPupils</Method></MethodsToRun></Filters>`;
ngOnInit() {
this.http
.post(this.url, this.xmlBody, { responseType: 'text', observe: 'body' })
.subscribe((findings) => {
const xml2js = require('xml2js');
xml2js.parseString(findings, function (err, result) {
if (err) {
console.log(err);
}
console.log(result.iSAMS.PupilManager[0].CurrentPupils[0].Pupil);
});
});
}
}
【问题讨论】:
-
你希望数组是怎样的?您已经在控制台中有一个数组。
-
@AakashGarg 是的,但是当我尝试将其分配给变量时,它返回未定义,例如this.students = result.iSAMS.PupilManger[0].CurrentPupils[0].Pupil 我做错了什么?
-
试试下面的解决方案。
标签: angular