J'essaie d'analyser certains XML dans AS3 que je reçois à travers un appel Webservice à C #. C # est sérialisé à l'aide d'un datacontract afin que l'espace de noms est non standard.
Voici ce que le XML ressemble à: strong> p> afin que vous puissiez voir à partir de celui-ci, j'ai un utilisateur qui consiste en un email, mot de passe , Détails de référence et userdetails. P> Voici où je l'analyse et le problème: strong> p> Voici une photo d'écran dans la vue de débogage (Copier le lien et Re-voir pour le voir plus gros): p> capture d'écran: p> Heres la solution forte> p> p>
p>
var xmlNamespace:Namespace = new Namespace( // namespace in here );
var resultXml:XML = new XML(event.result);
var email:XMLList = resultXml.xmlNamespace::Email;
var emailString:Object = email.xmlNamespace::EmailString.text().toString();
3 Réponses :
Essayez ceci:
var email:XMLList = resultXml..Email; //access the user email var userEmail:String = String[email.EmailString];
non. Pas de bien :( J'ai posté un coup d'écran montrant que cela ne fonctionne pas.
Vous devez utiliser le nom complet (y compris l'espace de noms) lorsqu'il existe des espaces de noms impliqués.
default xml namespace = new Namespace("http://schemas.datacontract.org/2004/07/UserDatabaseManipulation.POCO"); var resultXml:XML = new XML(event.result); var email:Object = resultXml.Email;
<?xml version="1.0" encoding="UTF-8"?> <manifest xmlns="http://ns.adobe.com/f4m/1.0"> <id> video_400 </id> <streamType> recorded </streamType> <duration> 87.823999999999998 </duration> <bootstrapInfo profile="named" id="bootstrap9368"> <metadata> ele mele </metadata> </bootstrapInfo> </manifest> var xmlData:XML = new XML(loader.content as String) ; var f4mNs : Namespace = xmlData.namespace(); trace(this + " onQueueComplete DURATION= " + xmlData.f4mNs::duration);