1

これは私が試してきたことです:

pugi::xml_document doc;

pugi::xml_parse_result result = doc.load_file("Book.xml"); // need to change this

std::cout << "Load result: " << result.description() << ", mesh name: " << doc.child("mesh").attribute("name").value() << std::endl;

私はこのようなことをしたい:

URL url;
url = new URL("http://.....");
URLConnection ucon = url.openConnection();
ucon.connect();
pugi::xml_parse_result result = doc.load_file(url.openStream()); // need to change this

編集1:

どうやらこれは不可能です。 http://code.google.com/p/pugixml/issues/detail?id=116

では、どのように進めればよいのでしょうか。

4

1 に答える 1

1

次のように、cURL ライブラリを使用して URL からコンテンツを取得し、文字列に保存しました。

CURL *curl;
CURLcode res;
std::string readBuffer;

curl = curl_easy_init();
if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http:...");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
}

次に、文字列に含まれるデータを解析しました。

pugi::xml_document doc;
pugi::xml_parse_result result = doc.load(readBuffer.c_str());

簡単です:-)

于 2012-07-01T06:56:41.740 に答える