在這篇文章中,我們将談談如何在angular
js中将xml檔案轉換為json。大家都知道angular js是開發應用程式的javascript架構。是以基本上angular js期望得
到的響應式json格式的。是以,在你開始對資料進行操作之前,建議傳回json格式的資料。在這篇文章中,我們會使用angular js
$http服務加載一個本地的xml檔案,并将這個xml檔案轉換成json。如果你是angular
js新手,請閱讀《angular js》。希望你會喜歡這篇文章。
背景
源代碼
使用代碼
首先建立一個html頁面。
<!doctype html>
<html>
<head>
<title>convert xml to json in angular js - sibeeshpassion </title>
</head>
<body>
</body>
</html>
現在,如下添加所需的引用。
<script src="jquery-2.1.3.min.js"></script>
<script src="angular.min.js"></script>
<script src="xml2json.js"></script>
現在建立一個控制器和應用程式指令,如下所示。
<div ng-app="httpapp" ng-controller="httpcontroller">
</div>
接下來我們需要做的是添加服務。你可以按如下方式添加$http服務。
var app = angular.module('httpapp', []);
app.controller('httpcontroller', function ($scope, $http) {
$http.get("sitemap.xml",
{
transformresponse: function (cnv) {
var x2js = new x2js();
var aftcnv = x2js.xml_str2json(cnv);
return aftcnv;
}
})
.success(function (response) {
console.log(response);
});
});
這裡的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!
結論
歡迎大家的火眼金睛。如果我有什麼遺漏或寫錯的地方,請不吝指正。希望大家能夠喜歡這篇文章。
作者:小峰
來源:51cto