gpt4 book ai didi

java - 如何使用 Jsoup 加载自定义 XML 提要?

转载 作者:可可西里 更新时间:2023-11-01 17:34:26 28 4
gpt4 key购买 nike

我有一个获取提要文档(通过 http)然后解析提要(不是 JSON 或 XML 类型)的 Java 方法。这是方法:

public ArrayList<ArrayList<String>> getFeed(String type)
{
String feed = "";
String address = "";
Document file;

/**
* FEED URLs-------\/
*/
switch (type) {
case "news":
address = "https://[domain]/svc/feeds/news/6001?subtree=false&imagesize=medium-square";
break;
case "events":
address = "http://[domain]/svc/feeds/events/6001?subtree=true&imagesize=medium-square&from=%5bfromDate%5d&to=%5btoDate";
}
try {
HttpURLConnection connection = (HttpURLConnection) (new URL(address)).openConnection();
//TODO: @Test
//----------------------------\/--THIS ONE WILL CAUSE ERRORS!!
file = (Document)connection.getContent();
connection.disconnect();

//OUTPUT
feed = file.getElementsByAttribute("pre").text();
stream = new StringReader(feed);
} catch (Exception e) {}

//BEGIN PARSING\\//--THEN OUTPUT//\\
try {
return parse();
} catch (FeedParseException e) {}
//de-fault
return null;
}

它不起作用;说 object:'file' 导致了 NullPointerException。那么我该如何提高调试在我看来是非开源的东西的精度。

P.S.:我没有测试“事件”案例,所以不要担心那里的 GET 参数。


这是我的堆栈跟踪: enter image description here

不过我看不出它有什么帮助...

最佳答案

您可以直接将 URL 对象传递给 Jsoup。

代替:

HttpURLConnection connection = (HttpURLConnection) (new URL(address)).openConnection();
//TODO: @Test
//----------------------------\/--THIS ONE WILL CAUSE ERRORS!!
file = (Document)connection.getContent();
connection.disconnect();

file = Jsoup //
.connect(address) //
.timeout( 10 * 1000) //
.ignoreContentType(true) //
.get();

Jsoup 1.8.3

关于java - 如何使用 Jsoup 加载自定义 XML 提要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921146/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com