alv*_*vas 3 html java xml parsing jsoup
如何使用 JSoup ( http://jsoup.org/ ) 通过标签获取元素?
我有以下输入并需要以下输出,但我没有在标签内获取文本<source>...<\source>:
[在:]
<html>
<something>
<source>foo bar bar</source>
<something>
<source>foo foo bar</source>
</html>
Run Code Online (Sandbox Code Playgroud)
[期望出局:]
foo bar bar
foo foo bar
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个:
import java.io.*;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class HelloJsoup {
public static void main(String[] args) throws IOException {
String br = "<html><source>foo bar bar</source></html>";
Document doc = Jsoup.parse(br);
//System.out.println(doc);
for (Element sentence : doc.getElementsByTag("source"))
System.out.print(sentence);
}
}
Run Code Online (Sandbox Code Playgroud)
但它输出:
<source></source>
Run Code Online (Sandbox Code Playgroud)
您需要使用xmlParser(),您可以将其传递给该parse()方法:
String br = "<html><source>foo bar bar</source></html>";
Document doc = Jsoup.parse(br, "", Parser.xmlParser());
for (Element sentence : doc.getElementsByTag("source"))
System.out.println(sentence.text());
}
Run Code Online (Sandbox Code Playgroud)
有关此内容的更多信息,请参阅文档:http://jsoup.org/apidocs/org/jsoup/parser/Parser.html#xmlParser()