2013-05-09 2 views
0

Я могу легко подобрать элементы в jSoup, но после этого мне нужно проверить эти значения, чтобы увидеть, если они, по крайней мере, длиннее 1 символа.jSoup - Можно ли совместить элементы с минимальной длиной attr()?

Мне было интересно, есть ли способ сопоставить элементы с определенным атрибутом, но только если длина содержимого этого атрибута длиннее 1 символа?

Надеюсь, это позволит мне не вручную проверять длину.

document.select("img[src]") 

Вышеуказанные матчи все img тегов с атрибутом src, но некоторые атрибуты могут быть пустыми, и я предпочел бы не иметь их вообще совпадают.

Псевдокод объяснить, что я имею в виду:

document.select("img[src:length(1)]") 

Я посмотрел через ссылку, но не могу найти ничего подходящего - за исключением, возможно, решение RegEx?

http://jsoup.org/apidocs/org/jsoup/select/Selector.html

Спасибо, Мики.

+0

Почему мой тег был изменен на «JavaScript»? Это не JavaScript, а Java. jSoup - это библиотека Java, которая использует синтаксис стиля CSS. –

ответ

-3

В javascript длина - это свойство. Чтобы узнать, больше ли это 1, сделайте это

if (document.select("img[src]").length > 1) 
do something 
else 
do something else 

Вам просто нужно решить, когда и где применять эту логику.

+1

Это не JavaScript ... это Java. Я использую jSoup, который является парсером Java HTML. –

1

[атр ~ = регулярное выражение] элементы с атрибутом, именуемым «атр», и значение, соответствующее регулярное выражение

Основываясь на этом из ссылки источника вы предоставили, вы могли бы сделать что-то вроде этого

document.select("img[src~=.+]"); 

Это должно привести к выбору элементов img с атрибутом src одного символа или более.

+0

Документ предполагает, что это только частичное совпадение, поэтому можно использовать '.' вместо'. + 'И все равно играть те же результаты. –

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