使用JSoup框架,我试图遍历下面的div并将每个<p>
标签中的文本提取到一个数组中。由于<div>
和<p>
的列表无限长,因此do / while循环或for循环将是获取<p>
中信息的首选方法。
我不知道如何遍历下面的<div>
标记,因为我不确定如何跟踪<p>
我<div>
的哪些 <div class="happy-div"> // want everything within this div to be in one array element
<p>good text here.</p>
<p>More good Text here.</p>
<p>Some good stuff here.</p>
</div>
<div class="sad-div"> // want everything within this div to be in a separate array element
<p>Some unhappy text here.</p>
<p>More unhappy Text here.</p>
<p>Some unhappy stuff here.</p>
</div>
<div class="depressed-div"> // everything within this div to be in a separate array element
<p>Some melancholy text here.</p>
<p>More melancholy Text here.</p>
<p>Some melancholy stuff here.</p>
</div>
.... repeats hundreds of times
标记存储到数组中。如果答案是明显的答案,请道歉,因为我对Java和编程有点新手。
非常感谢你的帮助。如果我能添加任何可以提供帮助的内容,请告诉我。
示例HTML(假设重复数百次):
String[] arrayOfP;
for (int i = 0; i < numberOfDivs; i++)
{
arrayOfP[i] = doc.select("All of the text in the <p> tags within the div we've incremented to")
System.out.println(arrayOfP[i])
}
伪代码:
arrayofP[1] Some good text here. More good Text Here. Some good stuff here.
arrayofP[2] Some unhappy text here. More unhappy Text Here. Some unhappy stuff here.
arrayofP[3] Some melancholy text here. More melancholy Text Here. Some melancholy stuff here.
....
预期结果:
当打印String数组元素值的内容时,我希望看到这个:
{{1}}
答案 0 :(得分:1)
您可以使用HashMap
存储每个P
的{{1}}元素列表。
地图的每个键都可以是您可以提供给div的ID,值是div
元素的列表。
例如:
P