2013-06-14 2 views
5

Кто-нибудь, кто поможет мне получить с jsoup значение стиля выравнивания текста в этом примере?получить значение атрибута стиля встроенного стиля html с помощью jsoup

<th style="text-align:right">4389</th> 

Здесь я хочу, чтобы получить значение право

Спасибо!

+0

Покажите нам, что вы реализовали до сих пор. Где ты застрял. –

+0

Я пытался узнать, работает ли мое выражение с этим элементом Elements = doc.select ("[style * = 'text-align']"); System.out.println (elt.size()); ' –

ответ

6

Вы можете получить атрибут style элемента, а затем разбить его на :.

Пример:

final String html = "<th style=\"text-align:right\">4389</th>"; 

Document doc = Jsoup.parse(html, "", Parser.xmlParser()); // Using the default html parser may remove the style attribute 
Element th = doc.select("th[style]").first(); 


String style = th.attr("style"); // You can put those two lines into one 
String styleValue = style.split(":")[1]; // TODO: Insert a check if a value is set 

// Output the results 
System.out.println(th); 
System.out.println(style); 
System.out.println(styleValue); 

Выход:

<th style="text-align:right">4389</th> 
text-align:right 
right 
+0

Это решение, которое я, наконец, представил, но по-другому. Спасибо @wartai за вашу помощь. –

+1

это снова строка манипуляции значением стиля. И это не работает, когда добавляются несколько стилей. Есть ли способ в jsoup, в котором мы получаем отдельные стили как Element, чтобы innerStyle.attr («text: align») возвращался «вправо»? –

+0

@ SaravanaPrakash да, похоже, незаконченный бизнес. Я имею в виду, что достаточно легко создать регулярное выражение, которое будет извлекать несколько «правильно сформированных» значений ключа, но похоже, что JSoup может обрабатывать это как стандартное ... например, теперь мне интересно, выяснить, какие символы законно разрешены как «ключи» и «значения»; предполагая, что вы можете иметь произвольное пустое пространство с обеих сторон двоеточия и т. д. и т. д .: эти детали должны обрабатываться пакетом JSoup ... –

Смежные вопросы