Java 使用http读取xml文件
有人知道通过http快速读取xml文件的方法吗? (例如,我的文件位于)。如何从java应用程序读取此文件 非常感谢您的帮助 谢谢Java 使用http读取xml文件,java,xml,Java,Xml,有人知道通过http快速读取xml文件的方法吗? (例如,我的文件位于)。如何从java应用程序读取此文件 非常感谢您的帮助 谢谢 Damien使用java.net.URL获取InputStream: final URL url = new URL("http://www.abc.com/file.xml"); final InputStream in = new BufferedInputStream(url.openStream()); // Read the input stream as
Damien使用
java.net.URL
获取InputStream
:
final URL url = new URL("http://www.abc.com/file.xml");
final InputStream in = new BufferedInputStream(url.openStream());
// Read the input stream as usual
为简洁起见,异常处理和内容被省略。Dave Ray的回答确实快速而简单,但它不能很好地用于HTTP重定向,或者如果您必须通过需要身份验证的代理服务器。不幸的是,标准JavaAPI的类(在Java.net中)缺少一些功能,或者在这种情况下很难使用 开源库可以自动处理重定向,并使需要身份验证的代理服务器易于使用 以下是一个基本示例:
HttpClient client = new HttpClient();
GetMethod method = new GetMethod("http://www.abc.com/file.xml");
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
byte[] responseBody = method.getResponseBody();
如果您计划使用W3C DOM,但对任何IO或HTTP细节都不感兴趣,则可以执行以下操作:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
...
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
final Document document = builder.parse("http://www.abc.com/file.xml");
谢谢杰斯珀。存放xml的服务器由我控制,因此我不必担心重定向。谢谢你的有效意见,非常感谢