0

ASP.NETからオブジェクトを取得していますが、XMLをトレースすると次のようになります。

var xml:XML = new XML(event.message.body);
trace(xml);

次の出力が得られます。

<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
</ArrayOfString>

構造を反復して文字列を抽出しようとしていますが、役に立ちません。私は次のコードを使用しています:

for each(var item:Object in xml.children())
{
    MonsterDebugger.trace(this, item.toString());
}

...そして私はこれが完全に効果的ではないことを知っています。現在は機能していますが、@記号を使用して構文を含む文字列を取得する方法があります。

誰かアドバイスしてもらえますか?

4

3 に答える 3

2

あなたはほとんどそれを持っています。次のように同じループを記述できるはずです。

for each( var el:XML in xml.string ) {
  trace( el.toString() );
}

これらのe4xドキュメントを見てください。これらはFlex用ですが、AS3であるため、すべて適用されます。あなたが見ることができるように、このようなものの多くのドキュメントの状態は少し不安定です:)

于 2009-11-12T13:38:02.917 に答える
1
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
</ArrayOfString>

名前空間にも注意する必要があります。

var ns:Namespace = new Namespace("http://localhost:49329/");
var strings:XMLList = xml.ns::string;
for each(var str:XML in strings)
  trace(str.text());
于 2009-11-12T13:48:30.350 に答える
0

AS3に対する私の答えを読むことができます-最も深いXML要素 SimpleXMLを使用することにより、使いやすい方法でXMLを解析できます。

于 2011-03-14T15:32:04.730 に答える