Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过JSOUP提取元素的数据_Java_Html_Jsoup - Fatal编程技术网

Java 通过JSOUP提取元素的数据

Java 通过JSOUP提取元素的数据,java,html,jsoup,Java,Html,Jsoup,我想从一个div类中提取数据,但它显示了我想要逐个获取数据项的整个字符串 Document doc = Jsoup.parse(get_html); String Title = doc.getElementsByClass("jTit").text(); String CoName = doc.getElementsByClass("coName").text(); System.out.println(Title); System.out.println(CoName); 显然,指定类中有

我想从一个div类中提取数据,但它显示了我想要逐个获取数据项的整个字符串

Document doc = Jsoup.parse(get_html);
String Title = doc.getElementsByClass("jTit").text();
String CoName = doc.getElementsByClass("coName").text();
System.out.println(Title);
System.out.println(CoName);

显然,指定类中有多个元素,返回包含所有这些元素的集合。因此,您可能希望提取每个元素的文本,为此,您需要迭代此集合,获取每个元素,然后从中获取文本

这里有一个例子

public class JsoupTest {
    @Test
    public void getTextByClass() {
        String html = "<html>\r\n" + 
                "    <body>\r\n" + 
                "        <div class=\"jTit\">jtit 1</div>\r\n" + 
                "        <div class=\"coName\">coname 1</div>\r\n" + 
                "        <div class=\"foo\">foo</div>\r\n" + 
                "        <div class=\"coName\">coname 2</div>\r\n" + 
                "        <div class=\"jTit\">jtit 2</div>\r\n" + 
                "        <div class=\"bar\">bar</div>\r\n" + 
                "    </body>\r\n" + 
                "</html>";

        Document doc = Jsoup.parse(html);

        Elements jTitElements = doc.getElementsByClass("jTit");
        for(Element e : jTitElements) {
            System.out.println(e.text());
        }

        Elements coNameElements = doc.getElementsByClass("coName");
        for(Element e : coNameElements) {
            System.out.println(e.text());
        }
    }
}

你所说的数据是什么意思?您能添加一个示例XML和预期输出吗?
jtit 1
jtit 2
coname 1
coname 2