C# 将xml转换为json后,无法访问数据
我正在学习angularjs 当我想访问xml文件时,我无法使用xml\u strjson 此方法正在将数据xml转换为json,但无法在html文件中访问 这是我的密码:C# 将xml转换为json后,无法访问数据,c#,xml,json,angularjs,C#,Xml,Json,Angularjs,我正在学习angularjs 当我想访问xml文件时,我无法使用xml\u strjson 此方法正在将数据xml转换为json,但无法在html文件中访问 这是我的密码: enter code here<!DOCTYPE html> <html ng-app=""> <head> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"&
enter code here<!DOCTYPE html>
<html ng-app="">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"> </script>
<script type="text/javascript" src="http://demos.amitavroy.com/learningci/assets /js/xml2json.js" charset="UTF-8"></script>
<script>
function customersController($scope, $http) {
$http.get("http://localhost:13087/Data.xml")
.success(function (response) {
$scope.lstComapanies = x2js.xml_str2json(response);
console.log($scope.lstComapanies);
alert(response);
});
}
</script>
<title></title>
</head>
<body ng-controller="customersController">
<table>
<tbody>
<tr ng-repeat="CompanyModel in lstComapanies">
<!-- $index for duplicate values -->
<td class="border">
<label>{{ CompanyModel }}</label>
</td>
</tr>
</tbody>
</table>
很简单:
<tr ng-repeat="CompanyModel in lstComapanies.CompanyModel">
查看您的JSON。它从一个具有两个属性的对象开始:
1. ____cnt=8(听起来像计数)
2.CompanyModel=对象数组
所以中继器需要一个数组,而你给了他一个对象。但是这个对象包括你的数组
JSON意味着Java脚本对象表示法,当您在JavaScript中解析JSON时,它将以一个对象或数组结束。因此,您可以直接访问您的lstcompanies(应该是lstcompanies?)中的所有内容
如果不工作,则执行钻孔操作:
angular.module('myApp',[])
.controller('customersController',['$scope','$http',
$scope.lstComapanies={};
函数($scope,$http){
$http.get(“http://localhost:13087/Data.xml")
.成功(功能(响应){
$scope.lstComapanies=JSON.parse(x2js.xml_str2json(响应));
console.log($scope.lstComapanies);
警报(响应);
})
}]);
...
{{CompanyModel.}
{{CompanyModel.BacklogSum}
{{sum}}
...
注意:并非所有浏览器中都存在JSON.parse(),请参见此处:
但通常我会将HTTPGET放在工厂或服务类中,这些类可以注入到需要访问数据的任何控制器中。接下来,我将向您承诺,当成功通过特定的API函数(如getCompanies())返回所需数据时,您需要为应用程序创建一个主模块,然后将控制器添加到其中 首先,将脚本更改为:
var myApp = angular.module('myApp', []);
myApp.controller('customersController', ['$scope', '$http',
function($scope, $http){
$http.get("http://localhost:13087/Data.xml")
.success(function (response) {
$scope.lstComapanies = x2js.xml_str2json(response);
console.log($scope.lstComapanies);
alert(response);
})
}]);
然后正确设置应用程序和控制器
<body ng-app="myApp">
<div ng-controller="customersController">
<table>
.... etc
.... 等
此外,如上所述,您需要更改ng重复
<tr ng-repeat="objects in lstComapanies.CompanyModel">
尝试解析JSON.parse(您的\u转换的\u数据)。您好,很抱歉,上面一页显示空白页面,我按照给定的方式修改了脚本,但结果没有变化,但当我使用警报检查时,我可以看到data@user1983379由于您将ng repeat的名称更改为objects,您是否将绑定更改为{{objects}你好,Alex Scott我的问题由changin解决,代码为$scope.lstComapanies=obj.ArrayOfCompanyModel.CompanyModel;然后还必须添加@Alex Scott描述的角度模块。
<body ng-app="myApp">
<div ng-controller="customersController">
<table>
.... etc
<tr ng-repeat="objects in lstComapanies.CompanyModel">