我正在使用Livestream API,我需要获得一些带有所需通道信息的XML,因此我在使用XML对象读取XML值时遇到问题,因为标签有':'标记名称中的符号,如下所示:
<ls:isLive>true</ls:isLive>
当我尝试选择这样的时候,它显然会给我一个解析错误:
xmlData.ls:isLive
然后我尝试了这种方式,但它给了我空值:
xmlData["ls:isLive"]
如何通过标签名称选择此元素的值?
答案 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。”。
避免使用“:”字符。冒号被保留用于名为命名空间的东西(稍后)。