XML、XMLList的hasSimpleContent和hasComplexContent方法
Tuesday, January 12th, 2010在那篇关于XMLList和null的文章(《你认为自己懂ActionScript么?》)中,涉及到了XMLList的hasSimpleContent方法。为了不让自己因为ActionScript语法问题而汗颜,决定仔细研究这两个属性。
如果 XML 对象表示文本节点、属性节点或不包含子元素的 XML 元素,则表明它包含简单内容。 表示注释和处理指令的 XML 对象不包含简单内容。例如:
var xml : XML = <foo><a>TVUPlayer</a><a><b/></a></foo>; trace(xml.a[0].hasSimpleContent()); //结果是true trace(xml.a[1].hasSimpleContent()); //结果是false
在上述例子中,a[0]节点只包含一个简单的文本,包含简单内容,trace的结果为true;a[1]节点包含了一个子元素,表明含有复杂元素,trace的结果为false。如果用方法hasComplexContent来判断上例,则得到的结果相反。
trace(xml.a[0].hasComplexContent()); //结果是false trace(xml.a[1].hasComplexContent()); //结果是true
对于XMLList的hasSimpleContent判断就相对复杂一点,满足以下3个条件至少1个就认为是包含简单内容:
如果XMLList满足以下条件中的任意1条,就判断其是包含复杂内容的: