gpt4 book ai didi

java - Jsoup 在列表项内嵌套值

转载 作者:行者123 更新时间:2023-12-01 23:54:35 28 4
gpt4 key购买 nike

我有一个 HTML 页面,我正在尝试挖掘 Logname值来自。我可以获得所有li文本挤在一起成为一串,但不完全是我想要的。我只想要 li 的第二部分</span> 之后的日志名。有什么办法可以轻松得到吗?凭借我所拥有的,我可以进行拆分并得到我想要的东西,但似乎应该有一种更优雅的方式?

当前代码

Elements detail = mHtml.select ("div.alpha-first");


for (Element items : detail)
{
Log.d (TAG, " label text " + items.text());

detail.

if (items.text().equals ("ACID"))
{
Log.d (TAG, " got ACID ");
}

}

HTML

<html>
<title>emp id chart</title>
<body>
<div class="alpha-first">
<ul class="account-detail">
<li><span class="label">ID</span>42</li>
<li><span class="label">Logname</span>George</li>
<li><span class="label">Surname</span>Glass</li>
<li><span class="label">ACID</span>15</li>
<li><span class="label">Dept</span>101348</li>
<li><span class="label">Empclass</span>Echo</li>
</ul>
<p class="last-swipe">3 Apr 9:53</p><br> </div>
<div class="detail-last-loc">
<p style="font-size: 8pt;">Current status</p>
<p class="current-location">Bldg #23 South Lot</p>
<p> current time 10:43 <br /></p>
<div class="detail-extra">
<p><a href="/empswipe/history/151034842">More</a> | <a href="/empswipe/history/151034842/3">3 Day History</a></p>
</div>
</div>
</body>
</html>

最佳答案

据我了解,根据您的示例,您希望从: <li><span class="label">Logname</span>George</li> 获取,值:George .

确实不需要迭代,直接获取即可。我不会说这段代码很优雅,但它仍然是:

    //Select the <span> element the text "Logname"
Elements select = mHtml.select(".account-detail span.label:contains(Logname)");

//Get the element itself, since the select returns a list
Element lognameSpan = select.get(0);

//Get the <li> parent of the <span>
Element parent = lognameSpan.parent();

//Access the text node of the <li> directly since there is only one
String logname = parent.textNodes().get(0).text();

希望有帮助。

关于java - Jsoup 在列表项内嵌套值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com