Jsoup 获取 class 名称
Jsoup get class name
我用
解析元素
Elements input1 = pageListingParsed.select("form[name=MailForm] textarea");
示例输出为:
<textarea name="dec13d35885064571998cc1c81facc28" rows="5" wrap="virtual" class="form-control c-545599b92f2d2b5a09f21c06d490e810"></textarea>
如何获得 class 个名字?在那种情况下,我需要将 c-545599b92f2d2b5a09f21c06d490e810
分配给一个变量。
谢谢
如果你确定元素大小为1,那么你需要获取第一个元素并使用方法attr(...)
:
Element e = input1.get(0);
System.out.println(e.attr("class"));
输出将是:
form-control c-545599b92f2d2b5a09f21c06d490e810
编辑:
如果只得到第二部分,你可以简单地使用String.split(regex)
方法。
例如
String s = "form-control c-545599b92f2d2b5a09f21c06d490e810";
System.out.println(s.contain(" ")? s.split(" ")[1] : s);
输出:
c-545599b92f2d2b5a09f21c06d490e810
您可以使用 JSoup method classNames
获取一个元素的所有 classes。这就是您将如何使用它:
Elements input1 = pageListingParsed.select("form[name=MailForm] textarea");
Set<String> classNames = input1.first().classNames();
请注意,class 名称在您解析的 HTML 中的顺序可能不同。这就是为什么方法 returns 是一个集合而不是一个有序的数据结构。
我用
解析元素 Elements input1 = pageListingParsed.select("form[name=MailForm] textarea");
示例输出为:
<textarea name="dec13d35885064571998cc1c81facc28" rows="5" wrap="virtual" class="form-control c-545599b92f2d2b5a09f21c06d490e810"></textarea>
如何获得 class 个名字?在那种情况下,我需要将 c-545599b92f2d2b5a09f21c06d490e810
分配给一个变量。
谢谢
如果你确定元素大小为1,那么你需要获取第一个元素并使用方法attr(...)
:
Element e = input1.get(0);
System.out.println(e.attr("class"));
输出将是:
form-control c-545599b92f2d2b5a09f21c06d490e810
编辑:
如果只得到第二部分,你可以简单地使用String.split(regex)
方法。
例如
String s = "form-control c-545599b92f2d2b5a09f21c06d490e810";
System.out.println(s.contain(" ")? s.split(" ")[1] : s);
输出:
c-545599b92f2d2b5a09f21c06d490e810
您可以使用 JSoup method classNames
获取一个元素的所有 classes。这就是您将如何使用它:
Elements input1 = pageListingParsed.select("form[name=MailForm] textarea");
Set<String> classNames = input1.first().classNames();
请注意,class 名称在您解析的 HTML 中的顺序可能不同。这就是为什么方法 returns 是一个集合而不是一个有序的数据结构。