解析器JSoup将标签更改为小写字母

解析器JSoup将标签更改为小写字母,第1张

解析器JSoup将标签更改为小写字母

不幸的是,

Tag
类的构造函数没有将名称更改为小写:

private Tag(String tagName) {    this.tagName = tagName.toLowerCase();}

但是有两种方法可以改变这种行为:

  1. 如果您想要一个 干净的 解决方案,则可以克隆/下载JSoup Git并更改此行。
  2. 如果您想使用 肮脏的 解决方案,则可以使用反射。

#2的示例:

Field tagName = Tag.class.getDeclaredField("tagName"); // Get the field which contains the tagnametagName.setAccessible(true); // Set accessible to allow changesfor( Element element : doc.select("*") ) // Iterate over all tags{    Tag tag = element.tag(); // Get the tag of the element    String value = tagName.get(tag).toString(); // Get the value (= name) of the tag    if( !value.startsWith("#") ) // You can ignore all tags starting with a '#'    {        tagName.set(tag, value.toUpperCase()); // Set the tagname to the uppercase    }}tagName.setAccessible(false); // Revert to false


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5587032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存