0

このXMLファイルをAS3のオブジェクトにしようとしています。

<?xml version="1.0" encoding="utf-8"?>
<mimeTypes>
    <mimeType>
        <ext>.ico</ext>
        <type>image/x-icon</type>
    </mimeType>
    <mimeType>
        <ext>.txt</ext>
        <type>text/plain</type>
    </mimeType>
    <mimeType>
        <ext>.html</ext>
        <type>text/html</type>
    </mimeType>
</mimeTypes>

問題は、ext=typeにしようとしていることです。例えば;

mimeTypes[".ico"] = "image/x-icon";
mimeTypes[".txt"] = "text/plain";
mimeTypes[".html"] = "text/html";

とにかく私はこれを行うことができますか?

これは今の私のコードです:

var mimeXML = new XML(e.target.data);
var len:uint = mimeXML.mimeType.length();
mimeT[mimeXML.mimeType.child("ext")] = mimeXML.mimeType.child("type");
for(var id:String in mimeT) {
    var value:Object = mimeT[id];
    trace(id + " = " + value);
}

しかし、それは出力します:

<ext>.ico</ext>
<ext>.txt</ext>
<ext>.html</ext> = <type>image/x-icon</type>
<type>text/plain</type>
<type>text/html</type>

助けていただければ幸いです、ありがとう!

4

2 に答える 2

1

mimeTypes [String(myXMLNode)] = myXMLNode;

あなたの場合:

var xml:XML = 
<mimeTypes>
    <mimeType>
        <ext>ico</ext>
        <type>image/x-icon</type>
    </mimeType>
    <mimeType>
        <ext>txt</ext>
        <type>text/plain</type>
    </mimeType>
    <mimeType>
        <ext>html</ext>
        <type>text/html</type>
    </mimeType>
</mimeTypes>

var myObject:Object = new Object;
for(var i:int = 0; i < xml.mimeType.length(); i++)
{
    var type:Object = new Object;
    type[String(xml.mimeType[i].ext)] = xml.mimeType[i].type;
    myObject[String(xml.mimeType[i].ext)] = type;
    trace(type[String(xml.mimeType[i].ext)]);
}

ただし、extノードからドットを削除する必要があります。それはそれで動作しません...

于 2012-07-14T16:51:59.947 に答える
0

XMLを取得するためにe4xを使用することを検討しましたか?これにより、簡単に移動および操作できるオブジェクト構造が返されます。

于 2012-07-14T16:45:55.707 に答える