【问题标题】:Help reading complicated XML in AS3, E4X帮助阅读 AS3、E4X 中的复杂 XML
【发布时间】:2010-12-09 20:19:35
【问题描述】:

我正在尝试从 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“编辑器”中检查它们是否处于同一级别。我检查了很多次,这不是问题。

这是另一个&lt;kuler:themeTitle&gt;:

  <kuler:themeItem>
  <kuler:themeID>990712</kuler:themeID> 
  <kuler:themeTitle>yellow</kuler:themeTitle> 

[...]

当我尝试读取值时,由于冒号而出现错误。

(1084:语法错误:在冒号之前需要右括号)

我现在很沮丧。在 adobe.livedocs 中没有关于此的文档,并且像 kirupa 的 XML 教程也没有提及此类内容。

【问题讨论】:

  • 你想获取哪个标签?
  • 对于命名空间,您是否阅读过命名空间节点访问权限?
  • 嗨,你好吗。 @chchrist2:我正在尝试检索第一种情况下包含在 标记中的信息。第二,我想检索包含在标签中的几个值,其格式如下:,由于冒号而出现错误。
  • @约翰·乔塔。你好。我现在正在读一些关于它的东西......嗯......

标签: xml actionscript-3 e4x


【解决方案1】:

您可以简单地获取与给定名称匹配的所有后代:

for each (var enclosure:XML in myXML.descendants('enclosure')) {
    var title:String = enclosure.child("title").text();
    ...    
}

希望能有所帮助。 XML 有时会令人困惑。

【讨论】:

  • 你好,我试过了,没用。我尝试了您编写的代码以及一些变体。 (没有得到错误,所以它们在某种程度上是有效的。)我会粘贴它们,但我已经删除了 cosde,我现在正忙着重新创建它。无论如何,非常感谢。
【解决方案2】:

我已经能够通过 Adob​​e 文档中详述的命名空间特征的实现来读取具有命名空间 kuler 的节点的值。

here is docs from adobe on namespaces and xml

不过,我还不能读取“enclosure”节点的内容。 :(

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多