Mi è capitato ultimamente di avere a che fare col mondo flash.. molto a che fare...
Tralasciando le considerazioni personali, ho avuto modo di vedere che il parser XML di Flash ed i WebServices che restituiscono DataTable o DataSet non vanno molto d'accordo... (questo a detta di chi ci lavora, anzi gradirei sapere da qualcuno che conosce bene actionscript se è vera questa informazione.....)
Quindi, quello che ho dovuto fare è stato, per amore della tranquillità (e per esigenze di deploy in tempi "stretti"), cambiare l'output da DataTable a XmlDocument. Anche così, dava problemi la dichiarazione che ne consegue, che ha il primo nodo chiamato <xs:element che, a quanto pare, inchioda totalmente il parser XML di flash che non sa come andare avanti e "nasconde" i nodi successivi....
Detto fatto, sempre per il su citato "amore della tranquillità", ho eliminato il nodo selezionandolo con XPATH e cancellandolo. Peccato che un nodo di questo genere non si può selezionare da solo usando il SelectSingleNode perchè otterreste un bell'errore del tipo "Namespace Manager or XSLT Context Needed. Questo perchè giustamente il parser XML di .NET non riconosce il namespace (forse è questo che "blocca" flash? Boh....)
L'alternativa è usare l'overload di GetSingleNode che accetta un XmlNamespaceManager. Ovviamente istanziato correttamente:
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable));
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
XmlDocument doc = new XmlDocument();
//Codice per caricare il documento
XmlNode node = doc.SelectSingleNode("\\xs:element", nsmgr);
In questo modo seleziono il nodo xs:element del datatable per poterlo eliminare dall'XmlDocument risultante..e rendere felici i nostri amici di Flash!
P.S.: Seriamente, se qualcuno con esperienza in Flash e ha avuto opportunità di lavorare con DataTable e Recordset flash senza problemi.. me lo faccia sapere :D