2017-03-07 8 views
0

私はアプリケーションでangularjsとspring mvcを使用しています。 angularjsはrestを使用してスプリングコントローラを呼び出します。コントローラはXMLを返す外部URLを呼び出します。anglejs rest return xmlをjson形式で返します

ここで、このXMLをjson形式のangularjsに送信します。私は、xmlをjavaオブジェクトに変換することができます(jaxbを使用)し、jackson-databind jarを使用してJavaをjsonに変換します。しかし、外部URLから返されたxml構造体は動的であり、自分の制御下にないときはいつでも変更することができます。このシナリオでは、xml構造体が変更された場合、私はJavaオブジェクトを変更する必要があります。これは面倒です。

代わりにjsonの形式でangularjsにxml応答を直接送ることができれば、私の仕事が楽になります。

これを達成する方法はありますか?

また、angularjsで直接外部URLを呼び出すことはできますか?返されるXMLは自動的にjsonに変換されますか?または、コンポーネントまたはJSライブラリを使用してjsonに変換する必要がありますか?

答えて

1

外部URLを直接呼び出すことができます。角度は手動HTTPで変換自体を提供しないので、外部変換URLを直接使用することができます。私はx2jsをお勧めします。シンプルで、以下のように使い方を理解するのがとても簡単です。さらに詳しい情報が必要な場合は、docsをご覧ください。その桁の

コントローラ

module.controller('exampleCtrl', function($scope,exampleSvc){ 

    function loadExternalXml(){ 
     var x2js = new X2JS(); 
     exampleSvc.getExternalXml().success(function(data){ 
       // part to convert xml to json 
       var json = x2js.xml_str2json(data); 
     }); 
    } 
    }); 

サービス

module.factory('exampleSvc',function($http){ 
    var factory = []; 

    factory.getExternalXml = function(){ 
     return $http.get("http://cdn.rawgit.com/motyar/bcf1d2b36e8777fd77d6/raw/bfa8bc0d2d7990fdb910927815a40b572c0c1078/out.xml"); 
    } 

    return factory; 
}); 
+0

感謝。 – Maz

+0

歓迎します;-) – digit

関連する問題