Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jsoup从li处获得超链接_Java_Jsoup - Fatal编程技术网

Java Jsoup从li处获得超链接

Java Jsoup从li处获得超链接,java,jsoup,Java,Jsoup,我有 我想获取href和文本 所以我做了 元素xx=选择div div ul li 当我为y做每个xx时,如果我做了 string1=y.text//我是汤姆 String2=y.attrref//此字段始终为空。我找不到/托马斯? 我还尝试了y.attra[href] 还有什么是: doc.select.studentnames>a;? 这是否意味着ID=studentnames上的所有元素都得到了正确的a??如果您只需执行eles=doc.selecta[href];?而且我相信当使用属性时

我有

我想获取href和文本 所以我做了 元素xx=选择div div ul li

当我为y做每个xx时,如果我做了

string1=y.text//我是汤姆 String2=y.attrref//此字段始终为空。我找不到/托马斯? 我还尝试了y.attra[href]

还有什么是: doc.select.studentnames>a;? 这是否意味着ID=studentnames上的所有元素都得到了正确的a??

如果您只需执行eles=doc.selecta[href];?而且我相信当使用属性时。。。方法,则不传入标记,只传入属性名称本身

编辑: 你说:


做doc.selecta[href]的问题…有很多属性和href..我只想要学生名字旁边的那一个..这就是为什么我在做文本后立即做的原因,这样我就可以得到学生的名字和他的网站

然后通过顺序调用多个选择或链接它们来优化选择返回的结果:

<div id = top1>
   <div id topsub1>
   <ul class="student">
   <li>
    <a href="/thomas">Tom</a>
    </li>
    </div>
   <div id topsub2>
   <ul class="student">
   <li>
    <a href="/thomas1">Tom1</a>
    </li>
    </div>
 </div>
或许我从来没有这样做过:

Elements eles = doc.select("ul.student").select("a[href]");
甚至:

Elements eles = doc.select("ul.student a[href]");
这是您的错误:

一,。您的第一个选择是仅获取div div ul li,以便元素仅包含li标记。因此,您可以采用以下任一方法:

获取每个元素

从选择查询中获取:

我想提到的是,请不要使用Element.text来获取标记内的数据,因此在本例中,它是li。调试时,应使用Element.html或Elements.html

二,。关于你的担忧:

还有什么是:doc.select.studentnames>a? 这是否意味着ID=studentnames上的所有选项都是正确的

。是类,而是id。 此外,>是直接子对象

因此,您的查询意味着:返回所有的a标记,该标记是类等于'studentnames'的标记的直接子级


关于它的更多细节,您应该检查一下

您的html代码与裸div的代码看起来很混乱。考虑编辑和更新HTML代码,使我们更容易理解。做doc.SelpTa[HeRF]的问题。有很多很多属性和HFREST…我只想在学生名字旁边。这就是为什么我在做课文后马上做的事情,这样我就能得到学生和他的网站的名字。
Elements eles = doc.select("div > div > ul.student > li > a[href]");
for (Element x: yy) {
  Element aTag = x.child(0);
  // or it can be aTag = x.select("a[href]").first();
  // Do your stuff here !
}
Elements yy = doc.select("div div ul li a[href]");