java - jsoup提取标签中元素的值
问题描述
我是 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
(复数)类 which extends ArrayList<Element>
。这个类允许我们使用一些为 single 设计的方法Element
,让我们访问一个(第一个)选定元素的值。当只选择一个元素时,这很有帮助。
但是,如果使用的查询找到了更多Element
您想要访问的 s,您将需要遍历查询结果(此处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
...
}
推荐阅读
- algorithm - 联合查找和广度优先搜索的优缺点是什么?
- gradle - 将 Micrometer for Prometheus 库添加到 Grails 项目会在运行时引发 NoClassDefFoundError
- spring-boot - 从 Spring Data 调用存储过程时出错
- python - 高斯过程回归:将输入映射到时间序列
- javascript - Socket.io 和 Chat 应用程序出现 ERR_CONNECTION_REFUSED 错误
- javascript - Styled Components 如何转发 props?
- flutter - 如何解决未处理的异常:类型'String'不是'index'类型'int'的子类型
- java - 休眠限制以在列表中使用类似子句进行搜索
- node.js - onCall 云函数不要等待承诺完成
- ios - 在 iOS 的 Intents 扩展中访问 Cloud kit/Core Data 条目