왜 XML 대신 XMLList를 사용해야합니까? 다시 말해, XMLList가 할 수있는 것, 단순한 XML 클래스가 할 수없는 것? 결국 모든 XMLList는 XML 전용입니다. (나는 Arraylist와 같은 다른 목록 구조가 다소 다르므로 XML에 대해 특유하다.)일반 단순 XML 대신 XMLLIst를 사용해야하는 이유는 무엇입니까?
Thnx.
왜 XML 대신 XMLList를 사용해야합니까? 다시 말해, XMLList가 할 수있는 것, 단순한 XML 클래스가 할 수없는 것? 결국 모든 XMLList는 XML 전용입니다. (나는 Arraylist와 같은 다른 목록 구조가 다소 다르므로 XML에 대해 특유하다.)일반 단순 XML 대신 XMLLIst를 사용해야하는 이유는 무엇입니까?
Thnx.
제 생각에 XMLList은 XML 문서 모음입니다. IT는 하위 집합이거나 다른 XML 요소 모음 일 수 있습니다. XMLList에의 문서를 인용 :
당신이 에 그룹으로 또는 개별 요소의 요소를 메서드를 호출 할 수 있도록 (여러 노드 또는 특성 포함) 하나 이상의 XML 객체 또는 요소를 나타낼 수있는 XMLList 객체 컬렉션에 있습니다.
XMLLIstCollection 안에 XMLList도 포함하여 Flex의 목록 기반 객체에 대한 dataProvider로 사용할 수 있습니다.
Adobe Docs on working with XML의이 섹션이 도움이 될 것입니다.
의 당신이 재귀를 사용하여 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 구조를보다 쉽게 조작 할 수 있습니다.
또한 child(), attribute() 등과 같은 대부분의 xml 메서드는 XMLList를 반환하므로 e4x의 모든 기능을 사용하려면 많이 사용하지 않아도됩니다. XMLList –