прочитайте XML-файл с помощью http

Бинарная схема принятия решений является одной из моих любимых структур данных или на самом деле Уменьшенной заказанной бинарной схемой принятия решений (ROBDD).

Подобные структуры могут, например, использоваться для:

  • наборы Представления объектов и выполнения очень быстрых логических операций на тех наборах.
  • Любое булево выражение, с намерением найти все решения для Примечания выражения

, что много проблем могут быть представлены как булево выражение. Например, решение suduku может быть выражено как булево выражение. И создание BDD для того булева выражения сразу приведет к решению (решениям).

6
задан Damien 24 August 2009 в 14:42
поделиться

3 ответа

Use java.net.URL to get an 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

Exception handling and stuff omitted for brevity.

9
ответ дан 9 December 2019 в 20:47
поделиться

Ответ Дэйва Рэя действительно быстрый и простой, но он не будет работать с переадресацией HTTP или если вам, например, нужно пройти через прокси-сервер, требующий аутентификации. К сожалению, стандартные классы Java API (в java.net) лишены некоторых функций или их трудно использовать в таких обстоятельствах.

Библиотека с открытым исходным кодом Apache HttpClient может автоматически обрабатывать перенаправления и упрощает работу с прокси-серверами, требующими аутентификации.

Вот простой пример:

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();
3
ответ дан 9 December 2019 в 20:47
поделиться

Если вы планируете использовать модель W3C DOM и не интересуетесь какими-либо деталями ввода-вывода или 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");
0
ответ дан 9 December 2019 в 20:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: