我有以下XML文档:
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head></head>
<body>
<div xml:lang="it">
<p begin="00:00:00" end="00:00:02" style="violet">first</p>
</div>
</body>
</tt>
我使用AS3成功将内容加载到我的flash对象中。但是如何在<div xml:lang="it">
中打印/跟踪属性的值?当我尝试代码时:
trace(myxml.children()[1].children()[0].@xml:lang);
编译器抱怨冒号提供的语法错误。
答案 0 :(得分:3)
在你的xml中没有'xml'命名空间。可能你错过了它。应该是这样的:
<tt xmlns:xml="http://blabla.com" ... xml:lang="en">
然后你需要声明Namespace实例来访问xml属性,该命名空间的标签:
var ns:Namespace = new Namespace("xml","http://blabla.com") ;
然后您可以使用此代码访问属性:
trace(myxml.children()[1].children()[0].@ns::lang);
答案 1 :(得分:1)
也许使用:
.attribute('xml:lang') instead of .@xml:lang
http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/XML.html#attribute()
答案 2 :(得分:1)