J'essaie de fournir des données de la base de données SQL à FLEX, en utilisant un script php au milieu. Je vois les données dans le corps du message dans le Moniteur réseau et dans la fenêtre "Variable" pendant le débogage, mais je ne peux pas les récupérer en XML.FLEX: impossible de récupérer XML à partir de event.result
ci-dessous (event.message.toString())
(mx.messaging.messages::AcknowledgeMessage)#0
body = "<?xml version="1.0" encoding="UTF-8"?>
<articles>
<node><id>2</id>
<articleid>2</articleid>
<nrporzadkowy>2</nrporzadkowy>
<tresc>moja tresc</tresc>
<rodzaj>textFlow</rodzaj>
</node>
</articles>"
clientId = "DirectHTTPChannel0"
correlationId = "C8993E66-DF60-FE63-73D3-6700CA497221"
destination = ""
headers = (Object)#1
DSStatusCode = 200
messageId = "475F2475-A915-29AB-4364-6700D08BD7D2"
timestamp = 0
timeToLive = 0
J'essaie
protected function pobieranieElementow_resultHandler(event:ResultEvent):void
{
var myXML2:XML = new XML();
myXML2 =XML(event.result);
}
mais en myXML2 je reçois seulement "[object Object]", quand je changer la méthode de coulée à:
protected function pobieranieElementow_resultHandler(event:ResultEvent):void
{
var myXML2:XML = new XML();
myXML2 =event.result as XML;
}
Je reçois null dans myXML2. Je ne ai aucune idée de ce qui se passe ? Je posterai aussi PHP script juste au cas où quelque chose est faux, il (peut-être mal '\ n' signes)
<?php
header('Content-type: text/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "\r\n";
$link = mysql_connect("HOST", "XXXXX", "XXXXDS");
mysql_select_db("DATABASEXXXX");
if (!$link) {
printf("Connect failed: %s\n", mysql_connect_error());
exit();
}
$sql = sprintf("SELECT id,articleid,nrporzadkowy,tresc,rodzaj from elements where articleid = '%s'",$_POST["id"]);
$result = mysql_query($sql);
$beg = '<articles>';
$end = '</articles>';
echo "$beg\r\n";
while($row = mysql_fetch_assoc($result))
{
echo '<node>';
echo '<id>';
echo $row["id"];
echo '</id>';
echo "\r\n";
echo '<articleid>';
echo $row["articleid"];
echo '</articleid>';
echo "\r\n";
echo '<nrporzadkowy>';
echo $row["nrporzadkowy"];
echo '</nrporzadkowy>';
echo "\r\n";
echo '<tresc>';
echo $row["tresc"];
echo '</tresc>';
echo "\r\n";
echo '<rodzaj>';
echo $row["rodzaj"];
echo '</rodzaj>';
echo "\r\n";
echo '</node>';
echo "\r\n";
}
echo $end;
mysql_free_result($result);
mysql_close($link);
?>
PS Eh bien, je suis en mesure de changer les noeuds à ArrayCollection via:
var array:ArrayCollection = event.result.articles.node;
mais je ne peux pas alimenter le dataGrid de cette façon.
Content que vous ayez trouvé votre réponse. Assurez-vous de marquer votre propre réponse en tant que telle. – JeffryHouser