0

为什么我应该使用 XMLList 而不是 XML。换句话说,一个 XMLList 可以做什么,而一个简单的普通 XML 类却不能做什么?毕竟,每个 XMLList 都只是一个 XML。(我对 XML 很特别,因为 Arraylist 等其他列表结构在情况下有所不同)

谢谢。

4

2 回答 2

1

我的理解是XMLListXML文档的集合。IT 可以是一个子集,也可以是不同 XML 元素的集合。引用 XMLList 文档:

XMLList 对象可以表示一个或多个 XML 对象或元素(包括多个节点或属性),因此您可以将元素作为一个组或集合中的单个元素调用方法。

您还可以将 XMLList 包装在XMLLIstCollection 中,并将其用作 Flex 中基于列表的对象的 dataProvider。

Adobe Docs 关于使用 XML的这一部分应该会有所帮助。

于 2012-06-25T12:37:28.933 回答
1

假设您想使用递归从 XML 中提取特定数据:

public static function getNodesByName(myXML_:XMLList, nodeName_:String) : XMLList {
    var result:XMLList = new XMLList();
    for (var i1:Number = 0; i1 < myXML_.children().length(); i1++ ) {
        if (myXML_.children()[i1].name() == nodeName_) {
            result += myXML_.children()[i1].valueOf();
        } else if (myXML_.children()[i1].children()) { 
            result += getNodesByName(XMLList(myXML_.children()[i1].valueOf()), nodeName_);
        }
    }
    return result;
}

该算法返回满足特定要求的节点列表,在这种情况下是具有相同名称的节点。如您所见,在将 XML 结构转换为新的 XML 文档之前,该列表使操作 XML 结构变得更加容易。

于 2012-06-25T13:21:05.607 回答