I am receiving xml data from an API. The xml object goes something like this:
<OrderHeader xmlns="xml.org"> <ResponseCode>1000</ResponseCode> <Message>Order Received</Message> <OrderId>10230192</OrderId> <lstOrderTracking> <OrderTracking> <TrackingStatus>Order Received </TrackingStatus> <Address> ABC </Address> <Other> And some other stuff </Other> </OrderTracking> <OrderTracking> <TrackingStatus>Order Complete </TrackingStatus> <Address> ABC </Address> <Other> And some other stuff </Other> </OrderTracking> </lstOrderTracking> </OrderHeader> I am able to display Header fields successfully but no luck in displaying the list items.
This is my code:
$scope.result = response; if (window.DOMParser) { parser=new DOMParser(); xmlDoc=parser.parseFromString(response,"text/xml"); } else // Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(response); } $scope.ResponseCode = xmlDoc.getElementsByTagName("ResponseCode")[0].childNodes[0].nodeValue; $scope.Message = xmlDoc.getElementsByTagName("Message")[0].childNodes[0].nodeValue; $scope.OrderId = xmlDoc.getElementsByTagName("OrderId")[0].childNodes[0].nodeValue; $scope.data = response; And in HTML:
<table> <tr> <td> ResponseCode </td> <td> {{ResponseCode}} </td> </tr> <tr> <td> Message </td> <td> {{Message}} </td> </tr> <tr> <td> OrderID </td> <td> {{OrderId}} </td> </tr> </table> <div ng-repeat="x in data.lstOrderTracking.OrderTracking"> {{x.TrackingStatus}} </div> How to do I display list items? And is there a better way to parse XML in Angular?
No comments:
Post a Comment