Flex基础-----之XML、XMLLIST和XMLListCollection的关系和区别

XML类是最处理XML的最小的单元,它必须有且只有一个根节点。例如:private var company:XML = <list> <department title="Finance" code="200"> <employee name="John H"/> <employee name="Sam K"/> </department> <department title="Operations" code="400"> <employee name="Bill C"/> <employee name="Jill W"/> </department> <department title="Engineering" code="300"> <employee name="Erin M"/> <employee name="Ann B"/> </department> </list>;

如果把<list>去掉的话,那它就不是一个XML对象,而变成了XMLList对象了。

 

下面来说一下XMLList对象,XMLList就是包含一个或多个XML对象的类。对于只包含一个 XML 元素的 XMLList 对象,可以使用 XML 类的所有属性和方法,因为包含一个 XML 元素的 XMLList 被视为等同于 XML 对象。但是如果它包含多个的话,那么调用XML的方法将会报出异常。虽然xml对象可以像上面一样初始化,但是XMLList却不可以。可以通过构造函数把一个字符串构造一个XMLList对象。

var xmllist :XMLList = new XMLList(String str);

 或者用标签创建<mx:XMLList xmlns=""> <book> <author>Peter F. Hamilton</author> <title>Pandora's Star</title> <image>assets/pandoras_star_.jpg</image> <date>Dec 3, 2004</date> </book> <book> <author>Peter F. Hamilton</author> <title>Judas Unchained</title> <image>assets/judas_unchained.jpg</image> <date>Feb 28, 2006</date> </book> </mx:XMLList>

XMLListCollection类就是xmllist的集合形式,类似于array的集合形式是arraycollection,这两种集合是绑定到组件的数据源,他们具体动态感知变化的特性。

XMLListCollection对象必须这样创建:new XMLListCollection(XMLList xmllist);

在本例中,可以这样private var companyData:XMLListCollection = new XMLListCollection(company.department);

company.department返回一个xmllist对象。

 

你可能感兴趣的:(c,xml,String,list,Flex)