在AngularJS中将XML转换为JSON

在这篇文章中,我们将谈谈如何在Angular JS中将XML文件转换为JSON。大家都知道Angular JS是开发应用程序的JavaScript框架。所以基本上Angular  JS期望得 到的响应式JSON格式的。因此,在你开始对数据进行操作之前,建议返回JSON格式的数据。在这篇文章中,我们会使用Angular JS $http服务加载一个本地的XML文件,并将这个XML文件转换成JSON。如果你是Angular  JS新手,请阅读《Angular  JS》。希望你会喜欢这篇文章。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的利津网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

背景

我曾发表过一篇有关于Angular JS $http服务的文章:《$http Service In Angular JS》

源代码

下载源代码: XML to JSON Source Code

使用代码

首先创建一个HTML页面。

 
 
  1.  
  2.  
  3.  
  4.     Convert XML to JSON In Angular JS - SibeeshPassion  
  5.  
  6.  
  7.  
  8.  

现在,如下添加所需的引用。

 
 
  1.  
  2.  
  3.  

你注意到了吗,我已经添加了xml2json.js文件?这就是将要转换的文件。你可以从https://code.google.com/p/x2js/下载文件。

现在创建一个控制器和应用程序指令,如下所示。

 
 
  1.  
 

接下来我们需要做的是添加服务。你可以按如下方式添加$http服务。

 
 
  1. var app = angular.module('httpApp', []); 
  2. app.controller('httpController', function ($scope, $http) { 
  3.   $http.get("Sitemap.xml", 
  4.             { 
  5.     transformResponse: function (cnv) { 
  6.       var x2js = new X2JS(); 
  7.       var aftCnv = x2js.xml_str2json(cnv); 
  8.       return aftCnv; 
  9.     } 
  10.   }) 
  11.     .success(function (response) { 
  12.     console.log(response); 
  13.   }); 
  14. }); 

这里的httpApp是我们的应用程序,httpController是我们的控制器。我们使用函数transformResponse转换响应。

转换请求和响应

在Angular  JS中,请求可以使用transformRequest函数转换,如果是响应的话,可以通过函数transformResponse转换。这些函数返回转换后的值。

下面是我们使用transformResponse函数的一个例子。

transformResponse: function (cnv) {
  var x2js = new X2JS();
  var aftCnv = x2js.xml_str2json(cnv);
  return aftCnv;
}

这个x2js.xml_str2json(CNV)将返回JSON对象,并从transformResponse函数返回aftCnv。听起来不错吧?一旦准备就绪,我们只要在浏览器控制台写JSON对象,就可以看到该对象了。

输出

在Angular JS中转换XML为JSON,就是这么简单。祝大家Happy coding!

结论

欢迎大家的火眼金睛。如果我有什么遗漏或写错的地方,请不吝指正。希望大家能够喜欢这篇文章。

译文链接:http://www.codeceo.com/article/angularjs-xml-to-json.html
英文原文:Convert XML to JSON In Angular JS

分享题目:在AngularJS中将XML转换为JSON
转载源于:http://www.shufengxianlan.com/qtweb/news31/283481.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

猜你还喜欢下面的内容

python知识

同城分类信息