我有一些使用 Flex/ActionScript 读取的 XML。当我加载 XML 时,Flash Builder 给我一个错误,提示Error: Unknown Property: 'EventTitle'.
at mx.collections::ListCollectionView/http://www.adobe.com/2006/actionscript/flash/proxy::getProperty()[E:\dev\4.y\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:870].
我引用“EventTitle”的唯一位置在我将其加载到列表中的位置下方。
当我<Invite>
从 XML 中删除该部分时,它可以正常加载。但是一旦我再次添加它,它就会给我错误。下面是 XML 的结构:
<Invites>
<Invite>
<EventTitle>HelloWorld</EventTitle>
</Invite>
<Invite>
<EventTitle>HelloWorld2</EventTitle>
</Invite>
</Invites>
我正在使用 PHP 创建 XML:
if ($_POST['method'] == "GET_INVITES") {
$sql = mysql_connect("localhost:8889", "---------------", "--------------");
if(!$sql) {
die('Could not connect:' . mysql_error());
}
mysql_select_db("Calendar", $sql);
$getInvitesQuery = mysql_query("SELECT * FROM `Invites` WHERE `To`='" . $_POST['userID'] . "'");
$result = "<Invites>";
$result .= "<Result>SUCCESS</Result>";
while($row = mysql_fetch_array($getInvitesQuery)){
$result .= "<Invite>";
$result .= "<FromID>" . $row['From'] . "</FromID>";
$result .= "<EventTitle>" . $row['Title'] . "</EventTitle>";
$result .= "<EventDay>" . $row['Day'] . "</EventDay>";
$result .= "<EventHour>" . $row['Hour'] . "</EventHour>";
$result .= "<EventMinute>" . $row['Minute'] . "</EventMinute>";
$result .= "</Invite>";
}
$result .= "</Invites>";
print($result);
}
我在 Flex/ActionScript 中使用 HTTPService 将 PHP 文件中的 XML 加载到列表中。这是代码:
<s:HTTPService id="getInvites" result="getInvitesResult(event)" method="POST" url="http://localhost/invite.php" useProxy="false">
<s:request xmlns="">
<method>GET_INVITES</method>
<userID>{my_id.text}</userID>
</s:request>
</s:HTTPService>
<s:List id="invites" x="5" y="295" width="310" change="rowSelected(event)">
<s:dataProvider>
<s:ArrayCollection source="{getInvites.lastResult.Invites.Invite.EventTitle}"/>
</s:dataProvider>
</s:List>
我一直在工作并试图找出解决方案 2-3 个小时。任何帮助深表感谢。
谢谢,雅各布