java - 从 Web 检索并解析 XML

标签 java xml file-io

我想使用 XPath(Java 中)来解析 XML 文件。然而,这些 XML 文件只能在网络上获得(不能手动下载所有文件(当然,必须“下载”它们才能进行处理)。

所以基本上我的问题是如何获取 URI 对象并将其转换为 File 对象。我需要使用 SCP 或介于两者之间的东西来下载文件吗?任何代码、教程或一般建议将不胜感激。

我试过这个:

    URI uri = new URI("http://www.somefiles.com/myfile.xml");
    InputStream is = uri.toURL().openStream();
    File xmlDocument = new File(uri);

但这给出了 URI 方案不是"file" 错误。

最佳答案

你可以让它变得更复杂,但这也可以像 opening a stream 一样简单。来自 URL。

InputStream in = remoteURI.toURL().openStream();

现在这不是最初请求的 File 对象,但我猜测您的 XPath 库可以处理通用的 InputStream。如果没有,您必须将上面的 InputStream 保存到临时文件中,并在其上创建一个 File 对象。

关于java - 从 Web 检索并解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238407/

相关文章:

java - Java 中的多线程素数查找器

xml - 关于膨胀 xml 的 InvocationTargetException - android

.net - 如何在C#中从.NET的StreamWriter中获得最佳性能?

python - 导入 txt 文件并将每一行作为列表

Java、XML、XSLT : Prevent DTD-Validation

c - 使用两个 fprintf 语句写入 C 中的文件

java - 如何删除DatePickerDialog背景

java - JVM是否因为networkaddress.cache.ttl设置而缓存url?

java - NotificationCompat v7 不适用于 Oreo 及更高版本的操作系统

ruby - 使用 Nokogiri 解析大型 XML