GetValue(JSoup)

时间:2012-09-16 08:46:47

标签: java jsoup

<div class="Class-feedbacks">
  <div class="grading class2">
    <div itemtype="http://xx.edu/grading" itemscope="" itemprop="studentgrading">
      <div class="rating">
        <img class="passportphoto" width="1500" height="20" src="http://greg.png" >
        <meta content="4.0" itemprop="gradingvalue">
      </div>
    </div>
    <meta content="2012-09-08" itemprop="gradePublished">
    <span class="date smaller">9/8/2012</span>
  </div>
  <p class="review_comment feedback" itemprop="description">Greg is one the smart person in his batch</p>
</div>

我想打印:

date: 2012-09-08
Feedback : Greg is one the smart person in his batch

我可以按照Jsoup getting a hyperlink from li

的建议使用此功能

doc.select(div div divn li ui ...)并获得课堂反馈。

我应该如何使用select命令获取上述值的值?

3 个答案:

答案 0 :(得分:2)

要获取属性的值,请使用attr方法。 E.g。

Elements elements = doc.select("meta");
for(Element e: elements)
  System.out.println(e.attr("content"));

答案 1 :(得分:0)


在一个单一的选择...你试过逗号组合“,”? http://jsoup.org/apidocs/org/jsoup/select/Selector.html

Elements elmts = doc.select("div.Class-feedbacks meta, p")

Element elmtDate = elmts.get(0);
System.out.println("date: " + elmtDate.attr("content"));
Element elmtParag = elmts.get(1);
System.out.println("Feedback: " + elmtParag.text()); 

您应该在列表中找到2个元素的日期和选择后的反馈。

答案 2 :(得分:0)

这是一个老问题,我可能会迟到,但如果其他人想知道如何轻松地做到这一点,下面的代码将会有所帮助。

searchArray([[1, 2, 3], [4, 5, [6, 7, [8]]]], 8);

function searchArray(arr, val) {
    return arr.some(function (item) {
        return Array.isArray(item)? searchArray(item, val) : item === val;
    });
}