0

私はアクションスクリプトが初めてです。次のXMLから値を取得するのを手伝ってくれる人はいますかtimed text format:

<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
    xmlns:tts="http://www.w3.org/2006/10/ttaf1#styling"
    xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
    xmlns:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"
    xmlns:m608="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#cea608">
   <head>
      <ttm:title>SCCconvert </ttm:title>
      <ttm:desc>converted document; </ttm:desc>
      <ttm:copyright>Copyright (C) Computer Prompting and Captioning Co.</ttm:copyright>
      <styling>
      <style xml:id='basic' tts:color='white' tts:fontFamily='proportionalSansSerif' 
            tts:lineHeight='8%' 
            tts:fontSize='8%' 
            tts:fontWeight='bold'
            tts:textOutline='black 8% 8%' />
      </styling>
      <layout>
         <region xml:id='pop1' tts:backgroundColor='transparent'></region>
         <region xml:id='pop2' tts:backgroundColor='blue'></region>
       </layout>
   </head>
   <body>
      <div>
         <p region='pop1' style='basic' xml:space='preserve' begin='00:00:02:05' end='00:00:06:16' tts:origin='47% 10%'>
            <span>♫&lt;/span>
         </p>
         <p region='pop1' style='basic' xml:space='preserve' begin='00:00:06:16' end='00:00:08:05' tts:origin='27% 84%'>
            <span>I can&apos;t do this!</span>
         </p>
         <p region='pop2' style='basic' xml:space='preserve' begin='00:00:08:05' end='00:00:09:17' tts:origin='10% 78%'>
            <span>You fail because</span>
         </p>
        </div>
   </body>
</tt>

通常の形式であれば、XML 値を読み取ることができます。<layout>しかし、セクションで述べたスタイルで値を表示する必要があります

4

2 に答える 2

1

これは、属性の前に名前空間が付けられているため、ttm、tts などの新しい名前空間を作成し、それを使用して属性にアクセスする必要があるためです。

layout.region ノード内のすべての backgroundColor にアクセスする例:

// namespace creation for tts
var tts:Namespace=new Namespace("http://www.w3.org/2006/10/ttaf1#styling");

// and use of the namespace tts for accessing the attribute
// @my_namespace::my_attribute
trace(xml..layout.region.@tts::backgroundColor.toXMLString());

wonderfl のライブ例: http://wonderfl.net/c/ptNa

Adobe チャネルでの xml 名前空間の使用に関する記事: http://cookbooks.adobe.com/post_Accessing_XML_attributes_and_nodes_with_different-16316.html

于 2012-09-11T07:41:04.117 に答える
0

このコードは、xmlを解析するのに役立ちます。

import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;


var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onXMLLoaded);
loader.load(new URLRequest("style.xml"));

function onXMLLoaded(e:Event){
    loader.removeEventListener(Event.COMPLETE, onXMLLoaded);

    var xml:XML = new XML(loader.data);

    var xlist:XMLList = xml.head.layout.child("region");

    for(var i=0;i<xlist.length();i++){
        trace("--->"+xlist[i].attributes()[0]);
        trace("--->"+xlist[i].attributes()[1]);
    }
}
于 2012-09-11T06:30:58.947 に答える