2017-04-20 4 views
1

Ich versuche XML-Daten an eine Variable in AngularJS zu binden.Binden von geparsten XML-Daten an die AngularJS-Variable

Die zurückgegebenen Daten von meinem Service ist in XML

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> 
&lt;Response&gt;&#xD; 
    &lt;Firstname&gt;Johanna&lt;/Firstname&gt;&#xD; 
&lt;/Response&gt;</string> 

ich dann x2js verwenden, um die XML zu analysieren und erhalten diese zurückgegeben:

var jsonResponse = x2js.xml_str2json(response); 

enter image description here

Schließlich möchte ich binden Vorname zu $ ​​scope.firstname

Hier brauche ich Hilfe . Ich weiß nicht, was ich tun soll, um den Wert zu binden. Was ive versucht:

$scope.firstname = jsonResponse.Response.Firstname; 
> TypeError: Cannot read property 'Firstname' of undefined 

$scope.firstname = jsonResponse.Object.Object.toString.__text.Response.Firstname 
> TypeError: Cannot read property 'Object' of undefined 

Ive eine Reihe von verschiedenen Kombinationen versucht, bekommen zu versuchen, Vorname, aber keine arbeiten. Ich bekomme entweder den obigen Fehler oder eine undefinierte Nachricht.

Was mache ich falsch? Bitte helfen Sie.

Antwort

1

Konvertieren Sie Ihre XML-Zeichenfolge, die Sonderzeichen benötigt, um in HTML zu dekodieren und dann in JSON konvertieren, finden Sie unten Schnipsel für weitere Informationen.

Ich habe eine Funktion für DecodeHTML ähnlich können Sie wählen, wenn Sie eine andere Option haben, um es zu decodieren.

function decodeHtml(html) { 
 
    var txt = document.createElement("textarea"); 
 
    txt.innerHTML = html; 
 
    return txt.value; 
 
} 
 
var x2js = new X2JS(); 
 
var xmlstring = '<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">&lt;Response&gt;&#xD;&lt;Firstname&gt;Johanna&lt;/Firstname&gt;&#xD;&lt;/Response&gt;</string>'; 
 

 
var formattedXML = decodeHtml(xmlstring); 
 
var xmlTOjson = x2js.xml_str2json(formattedXML); 
 

 
var FirstName = xmlTOjson.string.Response.Firstname; 
 

 
alert(FirstName);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.rawgit.com/abdmob/x2js/master/xml2json.js"></script>

+1

Awesome !! Vielen Dank – JCom09