当前位置: 首页 > 知识库问答 >
问题:

如何使用JSOUP按标记获取元素?-java

东方震博
2023-03-14

如何使用JSoup(http://JSoup.org/)按标记获取元素?

<html>
  <something>
    <source>foo bar bar</source>
  <something>
  <source>foo foo bar</source>
</html>
foo bar bar
foo foo bar
import java.io.*;
import java.util.List;

import org.apache.commons.io.IOUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class HelloJsoup {
    public static void main(String[] args) throws IOException {

        String br = "<html><source>foo bar bar</source></html>";
        Document doc = Jsoup.parse(br);
        //System.out.println(doc);
        for (Element sentence : doc.getElementsByTag("source"))
            System.out.print(sentence);

    }
}

但它输出:

<source></source>

共有1个答案

纪枫
2023-03-14

您需要使用XMLParser(),您可以将其传递给parse()方法:

String br = "<html><source>foo bar bar</source></html>";
Document doc = Jsoup.parse(br, "", Parser.xmlParser());

for (Element sentence : doc.getElementsByTag("source"))
    System.out.println(sentence.text());

}

关于这方面的更多信息,请参阅文档:http://jsoup.org/apidocs/org/jsoup/parser/parser.html#xmlparser()

 类似资料:
  • 在一个<代码>中

  • 问题内容: 当我使用jsoup提取数据时遇到一个职位。数据如下: 我想要这样的数据: 我怎样才能做到这一点?谁能帮我? 问题答案: 您可以将html解析为,选择-Element并获取其文本。 例: 输出:

  • 我正在尝试从网站获取一些数据。它看起来像这样 我只需要得到div标签中的时间值。这是我的Java代码。 它没有给出任何错误,但在日志上 "D/NetworkSecurityConfig:未指定网络安全配置,使用平台默认设置" 我看到也许这可以帮助你解决问题。提前感谢您,任何回应将不胜感激。

  • 所以我尝试从pretag获取数据,我设置doc连接到url选择pretag,结果出错了,我需要获取的数据按这里

  • 我是Jsoup解析的新手,我想获得这个页面上所有公司的列表:https://angel.co/companies?company_types[]=startup现在,一种实现这一点的方法实际上是使用与我需要的相关的div标记来检查页面。但是,当我调用该方法时: 首先,我甚至无法在我的consol html输出中找到那些DIV标记(这些标记应该给出公司的列表);其次,即使我找到了它,我如何才能找到具

  • 问题内容: 我正在尝试从HTML中获取Facebook的元标记。 我正在使用简单的html dom从站点获取所有html数据。我已经尝试过preg_replace,但是没有运气。 例如,我想要获取此fb元标记的内容: 希望有人能帮忙!:-) 问题答案: 我将建议使用get_meta_tags(),但似乎不起作用(对我而言):s 但是我还是建议还是使用DOMDocument: 希望能帮助到你