プロジェクトには、XMLファイルを参照してアップロードし、それをデータグリッドに表示し、グリッドを編集してから、コンテンツをデータベースに保存するという要件があります。特定のフォルダーからXMLを取得してデータグリッドに表示する例は表示できますが、XMLを参照してアップロードする例は表示できません。誰かが私に例やサンプルコードを教えてくれたら素晴らしいと思います。XMLは次のようになります。
<VisitImportList>
<Visit>
<AuditDetails>
<UpdateUser>ADMIN</UpdateUser>
<UpdateTimestamp>2010-10-22T16:25:26.593Z</UpdateTimestamp>
</AuditDetails>
<VisitId>3</VisitId>
<MeasurementCollectionId>4</MeasurementCollectionId>
<WeightConfirmationCode>5</WeightConfirmationCode>
<PrefilledIndicator>true</PrefilledIndicator>
<VisitDate>2010-10-22T16:25:26.593Z</VisitDate>
</Visit>
<Visit>
<AuditDetails>
<UpdateUser>ADMIN</UpdateUser>
<UpdateTimestamp>2010-10-22T16:25:26.593Z</UpdateTimestamp>
</AuditDetails>
<VisitId>3</VisitId>
<MeasurementCollectionId>3</MeasurementCollectionId>
<BloodPressureConfirmationCode>4</BloodPressureConfirmationCode>
<PrefilledIndicator>true</PrefilledIndicator>
<VisitInvalidCode>1</VisitInvalidCode>
<VisitInvalidReasonText>No Dates</VisitInvalidReasonText>
</Visit>
</VisitImportList>
アップロード用のFileReferenceとXML/XMLListCollectionを使用して、グリッドにデータを表示することができました。ここで問題となるのは、データベースに保存しようとしたときです。新しいスレッドを作成したくなかったので、ここに質問を追加しました。
private function saveVisit(event:MouseEvent): void
{
var decoder:SimpleXMLDecoder = new SimpleXMLDecoder();
var data:Object = decoder.decodeXML(xmlDoc);
var array:Array = ArrayUtil.toArray(data.VisitImportList.Visit);
tempCollection = new ArrayCollection(array);
これで、arraycollection(tempCollection)にデータがあります。しかし、それはジェネリックオブジェクトを保持しているので、それらをVisitObjectに変換する必要があります。そこで、ArrayCollectionをループして、オブジェクトを特定のカスタムVisitオブジェクトに変換してから、別のコレクションに追加したいと思います(これは正しい方法ではないと確信していますが、代わりの):
for (var i:int = 0; i < tempCollection.length; ++i)
{
model.visit = new Visit();
model.visit = Visit(tempCollection.getItemAt(i, 0)); // This line gives the error Type Coercion failed: cannot convert Object@1d4e4719 to com.model.Visit.
model.visit = tempCollection.getItemAt(i) as Visit; // This line always has Visit as null eventhough the tempCollection has 2 objects
model.pvList.visits.addItemAt(Visit, i);
}
したがって、誰かがArraCollectionをループして、ASオブジェクトをカスタムVisitオブジェクトに変換してから、別のArrayCollectionに追加する方法、またはこれを行うためのより簡単な方法について支援できますか?
ありがとう
ハリッシュ