2013-06-09 1 views
0

내 목표는 "html - String"을 분석하는 것입니다. 결국 나는 문자열의 Textnodes 및 datanodes를 추출하여 다른 목록에 저장하고 싶습니다.html 문자열의 스칼라 노드

내 첫 번째 appoach와 함께 "html - String"을 재귀 적으로 시도했습니다.

scalac MyModule.scala

MyModule.scala :

import org.jsoup.Jsoup 
import org.jsoup.nodes.Document 
import java.util.Iterator 
import org.jsoup.nodes 
import org.jsoup.nodes.Node 

object TextAnalyzer { 

    def processNode(node: Node) { 
     if (node.isInstanceOf[TextNode]) println(node.toString()) 
     node.childNodes() foreach processNode 
    } 

    def main(args: Array[String]) { 
     val myHtml = "<html> <head> <title>Welcome</title> </head> <body>  <div>   <p>Foo</p>  </div> </body></html>"; 

     val doc = Jsoup.parse(myHtml); 
     processNode(doc); 

    } 
} 

이것은 다음 errow 메시지 끝나는 23 : 오류 : 값 차일 org.jsoup.nodes.Node 는 XMLNode.childNodes의 구성원이 아닌() foreach는 processNode 는 하나의 오류는 >

당신은 textstring의 데이터 -와 textnodes를 얻을 가능하도록하기 위해 나에게 startet를받을 수 발견 ^? ... 재귀 적으로?

미리 도움을 청하십시오. 그러나 다음과 같은 컴파일 -

안스 난 정말 당신의 질문을 이해하지

답변

0

을 접견. 그것은 당신이 목표로했던 것입니까?

import org.jsoup.Jsoup 
import org.jsoup.nodes.Document 
import java.util.Iterator 
import org.jsoup.nodes._ 
import scala.collection.JavaConversions._ 

    object TextAnalyzer extends App { 

     def processNode(node: Node) { 
      if (node.isInstanceOf[TextNode]) println(node.toString()) 
      node.childNodes() foreach processNode 
     } 

     val myHtml = "<html> <head> <title>Welcome</title> </head> <body>  <div>   <p>Foo</p>  </div> </body></html>"; 

     val doc = Jsoup.parse(myHtml); 
     processNode(doc); 

    } 
+0

안녕 셀릭! 그게 바로 제가 찾던 것입니다. 고마워요! 상속받을 수있는 물건을 포함하여 몇 가지 좋은 방법에 집중해야한다고 생각합니다. (추천?) ... 즐거운 시간 보내세요! –