AngularJs并不是专业的xml解析器,但是可以通过使用内置的$http服务来实现解析。具体步骤如下:
app.factory('xmlParser', function($http, $q) { return { parseXml: function(xmlUrl) { var deferred = $q.defer(); $http.get(xmlUrl, {transformResponse:function(data) { var x2js = new X2JS(); var json = x2js.xml_str2json(data); return json; } }).success(function(json) { deferred.resolve(json); }).error(function(error) { console.log("Error parsing xml"); deferred.reject(error); }); return deferred.promise; } } });
app.controller('MyController', function($scope, xmlParser) { xmlParser.parseXml('example.xml').then(function(json) { $scope.myData = json; }); });
这样就可以通过AngularJs来解析xml了。