2010-04-23 1 views
2

XML 문서를 처리하고 노드를 반복합니다. 노드를 반복하고 새로운 List 유형을 만들고 싶습니다. 내가 스칼라 함께 할 것입니다 방법 :스칼라에서 Java의 일반적인 관용구, 자바 목록을 스칼라 목록으로 트래버스/반복하십시오.

것은 여기 내 XML 횡단 코드 :에 println의 라인, 나는 목록에 요소를 추가 할됩니다

def findClassRef(xmlNode: Elem) = { 

    xmlNode\"classDef" foreach { (entry) => 
     val name = entry \ "@name" 
     val classid = entry \ "@classId" 
     println(name + "//" + classid) 
    } 
    } 

.

답변

4

지도가 작동해야합니다. 정확히 List 인스턴스가 필요하지 않은 경우 toList를 제거 할 수 있습니다.

xmlNode \"classDef" map { (entry) => 
    val name = entry \ "@name" 
    val classid = entry \ "@classId" 
    name + "//" + classid 
} toList 
+0

그럴 수 있습니다. 이렇게하려면 "목록에 추가"하는 방법이 없습니까? –

+0

@ 베를린 왜 목록에 덧셈을 추가 하시겠습니까? '지도'는 내부적으로 새 컬렉션에 추가됩니다. –