Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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获取html标记后的文本并创建ArrayList_Java_Jsoup - Fatal编程技术网

Java 使用Jsoup获取html标记后的文本并创建ArrayList

Java 使用Jsoup获取html标记后的文本并创建ArrayList,java,jsoup,Java,Jsoup,我试图使用Jsoup将HTML文档中的文本输入ArrayList。我的文件看起来像这样 <p> <b>1</b>First Text <b>2</b>Second Text <b>3</b>Third Text . . . . </p> 谢谢你的帮助 尝试使用以下代码,但仅获取数字 Document doc1 = Jsoup.parse(chapter);

我试图使用Jsoup将HTML文档中的文本输入ArrayList。我的文件看起来像这样

<p>
   <b>1</b>First Text
   <b>2</b>Second Text
   <b>3</b>Third Text
   .
   .
   .
   .
</p>
谢谢你的帮助

尝试使用以下代码,但仅获取数字

Document doc1 = Jsoup.parse(chapter);
Element vve = doc1.body();
Elements vvv = doc1.select("p").select("b");
我的结果是

vvv.get(0) = <b>1</b>
vvv.get(1) = <b>2</b>
.
.
.
vvv.get(0)=1
vvv.get(1)=2
.
.
.
这将有所帮助

Elements elements = doc.body().select("p");

for(int j=0;j<elements.size();j++){
     Element para = tblelements.get(j);
     String value = para.select("b").get(i).text();
}
Elements=doc.body()。选择(“p”);
对于(int j=0;j让我们试试这个:

final String html = "<p> ... "; // your HTML here

Document doc = Jsoup.parse(html);
List<String> list = new ArrayList<>();


for( Element element : doc.select("b") )
{
    list.add(element.nextSibling().toString());
}
final String html=“..”//此处显示您的html
Document doc=Jsoup.parse(html);
列表=新的ArrayList();
对于(要素:单据选择(“b”))
{
添加(element.nextSibling().toString());
}

注意:您也可以使用
List
,然后只需删除
toString()
调用。

这是我昨晚完成的完整代码

        Elements elements = doc.body().select("p").select("b");
        for(int i=0; i<elements.size(); i++){
            Element para = elements.get(i);
            versesList.add(para.nextSibling().toString());
        }
Elements=doc.body().选择(“p”).选择(“b”);

对于(int i=0;iI尝试使用以下代码。但我得到的数字仅类似于123doc1=Jsoup.parse(第章);元素vve=doc1.body();元素vvv=doc1.select(“p”).select(“b”);我得到的值仅为1。如果我不在循环中打印文本,我得到的值如下1如果您将html更改为这样的第三个文本,则您可以尝试-para.select(“span”).get(I).text();否则请尝试此para.get(I).text();这将返回整个段落。。然后迭代每一行,删除标记并根据需要格式化输出是否使用了UTF-8编码?Document doc=Jsoup.parse(conn.getInputStream(),“UTF-8”和“”);如果这解决了您的问题,请将此主题标记为finished:-)我该怎么做?为了完成我猜你是真的做了,因为有绿色支票。
        Elements elements = doc.body().select("p").select("b");
        for(int i=0; i<elements.size(); i++){
            Element para = elements.get(i);
            versesList.add(para.nextSibling().toString());
        }