2

smil ファイル (xml 形式に従う) を読み込んでいますが、名前 (例: xml.body) でプロパティを選択することはできません。代わりに、xml.child(0).

試してみましxml.child('body')たが、まだ何もありません。誰でも簡単な回避策を知っていますか?xml.head.(@name=='rtmpPlaybackbase')XMLListにアクセスできるようにしたいxml.body.switch.video

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
   <meta name="title" content="myStream"/>
   <meta name="httpBase" content="http://mydomain.com/"/>
   <meta name="rtmpPlaybackBase" content="http://mydomain.com/"/>
</head>
<body>
   <switch>
      <video src="myStream500K@54552" system-bitrate="500000"/>
      <video src="myStream900K@54552" system-bitrate="900000"/>
      <video src="myStream1500K@54552" system-bitrate="1500000"/>
   </switch>
</body>

どうもありがとう!

4

1 に答える 1

4

まず、開始タグを閉じ、最後に で終了します。次のようになったとしましょう。

var xml:XML = new XML('<smil xmlns="http://www.w3.org/2001/SMIL20/Language"><head><meta name="title" content="myStream"/><meta name="httpBase" content="http://mydomain.com/"/><meta name="rtmpPlaybackBase" content="http://mydomain.com/"/></head><body><switch><video src="myStream500K@54552" system-bitrate="500000"/><video src="myStream900K@54552" system-bitrate="900000"/><video src="myStream1500K@54552" system-bitrate="1500000"/></switch></body></smil>');

次に、xml.body の長さをトレースすると、0 になります。

trace(String(xml.body).length); //traces 0

これは主に、xml 名前空間を使用する必要があるためです。

var ns:Namespace = new Namespace("http://www.w3.org/2001/SMIL20/Language");

この名前空間を使用して、xml 内のタグに到達します。

trace(String(xml.ns::body).length); //traces 272

到達xml.ns::TAGNAMEする方法も同様です。

お役に立てれば。

于 2011-05-10T15:20:40.463 に答える