2012-06-20 2 views
1

Это то, что я пытался:Cocos2d-x Разбирает XML из содержимого URL-адреса с помощью pugixml, как мне это сделать?

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 

EDIT 1:

Видимо, это не представляется возможным. http://code.google.com/p/pugixml/issues/detail?id=116

Итак, как мне двигаться вперед?

ответ

1

Я использовал локонов библиотеку, чтобы получить содержание от 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()); 

Easy Peasy :-)

 Смежные вопросы

  • Нет связанных вопросов^_^