繁体   English   中英

atom feed xmlns属性搞砸了AS3的XML解析?

[英]atom feed xmlns attribute messes up AS3's XML-parsing?

想看看有趣的东西吗?

var xml:XML = XML(<feed><entry /><entry /><entry /></feed>);
trace(xml.entry.length())   // returns 3

有道理,对吗? 现在让我们添加这个属性......

var xml:XML = XML(<feed xmlns="http://www.w3.org/2005/Atom"><entry /><entry /><entry /></feed>);
trace(xml.entry.length())   // returns 0

那不可能是对的。 让我们尝试不同的属性。

var xml:XML = XML(<feed test="okay"><entry /><entry /><entry /></feed>);
trace(xml.entry.length())   // returns 3

谁知道会导致什么? 我以atom为例,但根节点上的任何'xmlns'属性似乎都有这种效果。 返回的值是直接错误的 - 显然仍有3个“条目”子节点,无论父母拥有什么属性。

以下是可能的解决方法:

var xml:XML = XML(<feed xmlns="http://www.w3.org/2005/Atom"><entry /><entry /><entry /></feed>) ;
trace(xml.entry.length()) ;
// output: 0

var ATOM:Namespace = new Namespace( "http://www.w3.org/2005/Atom" );
trace(xml.ATOM::entry.length()) ;
// output: 3

default xml namespace = ATOM;
trace(xml.entry.length()) ;
// output: 3

更新

LiveDocs.Adobe.Com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM