html-Strings中的scala节点

时间:2013-06-09 15:57:54

标签: scala jsoup textnode

我的目标是分析“html - String”。最后我想 提取字符串的Textnodes和datanode并将其存储 不同的名单。

在我第一次使用时,我尝试递归地查看“html - String”。

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);

    }
}

以以下错误消息结束:

  

scalac MyModule.scala

MyModule.scala:23:错误:value childs不是org.jsoup.nodes.Node的成员         node.childNodes()foreach processNode              ^ 找到一个错误 &GT;

为了能够,你能得到我的启动吗? 获取文本字符串的数据和文本节点? ......递归?

先谢谢你的帮助?

迎接

安斯加尔

1 个答案:

答案 0 :(得分: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);

    }