2013-05-09 24 views
0

我可以很容易地匹配jSoup中的元素,但之后,我需要检查这些值以查看它们是否至少长于1个字符。jSoup - 是否可以匹配具有最小attr()长度的元素?

我想知道是否有一种方法来匹配具有特定属性的元素,但只有当该属性的内容长度超过1个字符?

希望这会让我不必手动检查自己的长度。

document.select("img[src]") 

以上的比赛都img标签与src属性,但某些属性可能是空白,我宁愿没有他们在所有的匹配。

伪代码解释我的意思:

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

我已经通过基准看去,却找不到合适的东西 - 也许除了一个正则表达式的解决方案?

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

感谢, 米奇。

+0

为什么我的标签被更改为'JavaScript'?这不是JavaScript,它是Java。 jSoup是一个使用CSS样式语法的Java库。 – 2013-05-09 13:15:28

回答

-3

在javascript中,length是一个属性。要查看它是否大于1,请执行此操作

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

您只需决定何时何地应用该逻辑。

+1

这不是JavaScript ...它是Java。我正在使用jSoup这是一个Java的HTML解析器。 – 2013-05-09 13:16:10

1

[ATTR〜=正则表达式]与名为“ATTR”的属性,和值的匹配正则表达式

在此基础上从你提供的源连接元件,可以做这样的事情

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

这应该导致选择具有一个或多个字符的src属性的img元素。

+0

文档表明它只是一个部分匹配,所以可以使用'.'而不是'。+',并且仍然可以获得相同的结果。 – 2013-09-25 13:43:05

相关问题