gpt4 book ai didi

java - XMLHttpRequest 用于从 Web Api 获取当前时间

转载 作者:行者123 更新时间:2023-12-02 11:43:35 29 4
gpt4 key购买 nike

我想从这个网页获取当前时间:http://api.geonames.org/timezone?lat=47.01&lng=10.2&username=demo首先,我需要使用 HTTP 从该页面获取信息,然后解析 XML 并在控制台中显示当前时间。

我期望来自网络服务的消息是当前时间

我正在尝试这样的方法,但它不起作用。我有这样的输出: [#document: null]

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.InputStream;

import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

public class Main {

public static void main(String[] args) throws IOException, ParserConfigurationException {

String uri =
"http://api.geonames.org/timezone?lat=47.01&lng=10.2&username=demo";

URL url = new URL(uri);
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/xml");

InputStream xml = connection.getInputStream();

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
try {
Document doc = (Document) db.parse(xml);
System.out.println(doc);
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最佳答案

查看您的导入:

import javax.swing.text.Document;

Actor 只能失败。
不需要转换,因为 DocumentBuilder.parse() 返回一个 org.w3c.dom.Document 对象。

而是导入此类:

import org.w3c.dom.Document;

然后您可以使用 XPath 检索 time 元素的值:

Document doc =  db.parse(xml);
XPath xPath = XPathFactory.newInstance().newXPath();
String time = (String)xPath.evaluate("/geonames/timezone/time",
doc.getDocumentElement(), XPathConstants.STRING);

关于java - XMLHttpRequest 用于从 Web Api 获取当前时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48371732/

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