1

以下のコードを使用して、画像 ID を .XML ファイルに追加しています。

var xmlGallery:XML =new XML ('<ENTRY "IMG_ID="' +img_id+'"/>')

var fGallery:File = File.applicationStorageDirectory.resolvePath("gallery.xml");
var sGallery:FileStream = new FileStream();

sGallery.open(fGallery,FileMode.APPEND);
sGallery.writeUTFBytes(xmlGallery.toXMLString());

.XML 出力は次のようになります。

<ENTRY "IMG_ID="1"/> 
<ENTRY "IMG_ID="2"/>
<ENTRY "IMG_ID="3"/>

<?xml version="1.0" encoding="utf-8"?>エントリの上に追加する必要があります。どうやってするの?

ありがとう。ウリ

4

1 に答える 1

0

ファイルに XML ノードを追加する前に、単純に文字列を書きませんか? 試す:

sGallery.open(fGallery, FileMode.APPEND);
sGallery.writeUTF("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sGallery.writeUTFBytes(xmlGallery.toXMLString());

更新: OP のコメントに基づく問題ステートメントの変更:

ソースコードを見ないとなんとも言えません。私が理解できるのは、同じ XML ファイルを複数回更新していることです。その場合、最善の策は次のことです。

  • ファイルが存在するかどうかを確認し、
    • 作成されない場合は、XML 宣言とGALLERY開始タグと終了タグ (GALLERY要素)を追加します。
    • 存在する場合は何もしない
  • タイプのオブジェクトでファイルを読み込みますXML
  • E4X を使用して、すべての子要素をこのオブジェクトに追加します (AS3 で推奨される XML 処理方法)。
  • XML オブジェクトの追加/変更が完了したら、ファイルに保存します。

asx3mXML シリアライゼーション ライブラリも参照してください

于 2012-05-18T17:41:30.113 に答える