我正在尝试从kuler读取XML,但我无法从多个标签中检索值,我不知道为什么。
特别是这一个:
<enclosure xmlns="http://www.solitude.dk/syndication/enclosures/">
<title>yellow</title>
- <link length="1" type="image/png">
<url>http://kuler-api.adobe.com/kuler/themeImages/theme_990712.png</url>
</link>
</enclosure>
为此,我尝试了
trace(XMLvar.channel.item.enclosure);
trace(XMLvar.channel.item.enclosure[0]);
trace(XMLvar.channel.item.enclosure.text());
trace(XMLvar.channel.item..enclosure);
trace(XMLvar.channel..item..enclosure);
其中。
我可以向你保证路线没问题。我可以在同一级别读取其他值。我正在检查Internet Explorer XML“编辑器”,它们处于同一级别。我已经多次检查过,这不是问题。
这是另一个<kuler:themeTitle>:
<kuler:themeItem>
<kuler:themeID>990712</kuler:themeID>
<kuler:themeTitle>yellow</kuler:themeTitle>
[...]
当我尝试读取值时,由于冒号而出现错误。
(1084:语法错误:期待冒号前的右手)
我现在非常沮丧。在adobe.livedocs中没有关于这方面的文档,关于XML的教程就像kirupa那样没有关于这些事情的内容。
答案 0 :(得分:0)
您可以简单地抓取与给定名称匹配的所有后代:
for each (var enclosure:XML in myXML.descendants('enclosure')) {
var title:String = enclosure.child("title").text();
...
}
希望有所帮助。 XML有时会让人感到困惑。
答案 1 :(得分:0)
我已经能够通过Adobe文档中详细描述的命名空间特性的实现来读取具有命名空间kuler的节点的值。
here is docs from adobe on namespaces and xml
但我还是无法读取'enclosure'节点的内容。 :(