jsoup 提取标签中元素的值

jsoup extracting a value of an element in tag

我是 Jsoup 的新手。我正在尝试为变量 "y" 提取一系列值。 我有一个 html 这样的:

<text class="price label" font-family="Dosis" font-size="12px" font-weight="800" fill="white" text-anchor="middle" x="49" y="408.0421247847397">5,24</text>

<text class="price label" font-family="Dosis" font-size="12px" font-weight="800" fill="white" text-anchor="middle" x="122" y="412.832428136177">5,11</text>

我想提取 y 的值,即 408.0421247847397、412.832428136177 以及属性之后和标记之前的值,即 5.24、5、11。

你能给我一个方法吗?

我只能提取 y 的第一个值 (408.0421247847397)。但不是第二个值(412.832428136177)。我也无法提取标题 5.24 和 5.11。我已经完成了:

doc1 =Jsoup.parse(input,"UTF-8", "");
Elements values = doc1.select("g");
Elements xyz = doc1.select("text.price.label");
String abc = xyz.attr("y");

select 的结果是 Elements(复数)class,其中 extends ArrayList<Element>。这个 class 允许我们使用一些为单个 Element 设计的方法来让我们访问一个(第一个)选定元素的值。当只选择一个元素时,这很有用。

但是,如果使用的查询发现了您想要访问的更多 Element,您将需要遍历查询结果(此处为 Elements xyz)。为此,您可以使用类似

的循环
for (Element el :  xyz ){
    String yAttr = el.attr("y"); //get value of `y` attribute
    String text = el.text();     //get text which browser should show for this element
    ...
}