2015-12-04 44 views
1

我解析與Jsoup得到的類名

Elements input1 = pageListingParsed.select("form[name=MailForm] textarea"); 

例的元素輸出爲:

<textarea name="dec13d35885064571998cc1c81facc28" rows="5" wrap="virtual" class="form-control c-545599b92f2d2b5a09f21c06d490e810"></textarea> 

我怎樣才能獲取類的名字呢?在這種情況下,我需要將c-545599b92f2d2b5a09f21c06d490e810分配給一個變量。

感謝

+0

好的夥伴,我對你問的問題有點混淆,你想要輸出什麼? – nafas

回答

1

如果您確定元素大小爲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); 

OUTPUT:

C-545599b92f2d2b5a09f21c06d490e810

+0

謝謝,它幾乎是我所需要的。然而,我只需要第二個班級名稱,我該怎麼做?所以在這種情況下,c-545599b92f2d2b5a09f21c06d490e810。謝謝! – Michael

+0

@邁克爾不能在字符串上使用'split'? – nafas

+0

是的,那就是我剛剛做的''.split(「\\ s +」)[1]''謝謝! – Michael

0

你可以得到與JSoup method classNames元素的所有課程。這是你將如何使用它:

Elements input1 = pageListingParsed.select("form[name=MailForm] textarea"); 
Set<String> classNames = input1.first().classNames(); 

注意,類名可能無法在您解析HTML相同的順序來的。這就是爲什麼該方法返回一個集合而不是有序的數據結構。