操作脚本在标记名称上选择带有“:”符号的XML元素

时间:2012-05-17 17:31:49

标签: xml actionscript-3 flash

我正在使用Livestream API,我需要获得一些带有所需通道信息的XML,因此我在使用XML对象读取XML值时遇到问题,因为标签有':'标记名称中的符号,如下所示:

<ls:isLive>true</ls:isLive>

当我尝试选择这样的时候,它显然会给我一个解析错误:

xmlData.ls:isLive

然后我尝试了这种方式,但它给了我空值:

xmlData["ls:isLive"]

如何通过标签名称选择此元素的值?

3 个答案:

答案 0 :(得分:1)

您正在处理xml命名空间。 在xml标题中应该是像

这样的定义
xmlns:ls='http://someuri/schema'

您需要定义命名空间并使用命名空间

访问节点

我认为这篇文章会有所帮助: xml and namespace

答案 1 :(得分:1)

假设您的xml如下所示:

var xml:XML = <root xmlns:ls="http://blabla.com">
                 <ls:isLive>true</ls:isLive>
              </root>

要访问isLive代码,您需要声明Namespace

var ls:Namespace = new Namespace("ls","http://blabla.com") ;
var isLiveTag:* = xml.ls::isLive;

答案 2 :(得分:0)

您确定是否正在尝试访问..我尝试使用该标记,但as3给了我一个错误。

我认为您正在访问错误的元素名称。

名称应该简短,如下:不是这样的:。

避免使用“ - ”字符。如果您将某些名称命名为“名字”,某些软件可能会认为您要先从名称中删除名称。

避免“。”字符。如果你命名为“first.name”,某些软件可能会认为“name”是对象的属性“first。”。

避免使用“:”字符。冒号被保留用于名为命名空间的东西(稍后)。