0

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

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

当我尝试像这样选择时,它显然会返回一个解析错误:

xmlData.ls:isLive

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

xmlData["ls:isLive"]

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

4

3 回答 3

1

您正在处理一个 xml 命名空间。在 xml 标头中应该是这样的定义

xmlns:ls='http://someuri/schema'

您需要定义一个命名空间并使用该命名空间访问节点

我认为这篇文章会有所帮助: xml 和命名空间

于 2012-05-17T17:54:35.243 回答
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;
于 2012-05-17T18:12:04.127 回答
0

你确定是你要访问的内容吗?我尝试使用该标签,但 as3 给了我一个错误。

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

名称应该短而简单,像这样:不是这样:。

避免使用“-”字符。如果您将某些东西命名为“名字”,某些软件可能会认为您想从名字中减去名字。

避免 ”。” 人物。如果您将某个东西命名为“first.name”,某些软件可能会认为“name”是对象“first”的属性。

避免使用“:”字符。冒号保留用于称为名称空间的东西(稍后会详细介绍)。

于 2012-05-17T18:00:18.693 回答