2014-04-01 63 views
0

我有以下代碼:pugixml找不到文件

pugi::xml_document doc; 
    pugi::xml_parse_result result = doc.load_file("C:/Users/James/Documents/Visual Studio 2013/Projects/Games/Jimmy/Game/Assets/Levels/Scene.dae"); 
    std::cout << "Load result: " << result.description() << ", mesh name: " << doc.child("mesh").attribute("name").value() << std::endl; 

    pugi::xml_node tools = doc.child("Profile").child("Tools"); 

    for(pugi::xml_node tool = tools.child("Tool"); tool; tool = tool.next_sibling("Tool")) 
    { 
     std::cout << "Tool " << tool.attribute("Filename").value(); 
     std::cout << ": AllowRemote " << tool.attribute("AllowRemote").as_bool(); 
     std::cout << ", Timeout " << tool.attribute("Timeout").as_int(); 
     std::cout << ", Description '" << tool.child_value("Description") << "'/n"; 
    } 

出於某種原因,我得到:

+  result {status=status_file_not_found (1) offset=0 encoding=encoding_auto (0) } pugi::xml_parse_result 

任何想法,爲什麼它不能找到我的檔案?

回答

0

pugi只打開.xml ...我也必須改變我的路徑到相對的一個。

+0

文件擴展名與pugixml無關;不知道這裏出了什麼問題,我猜想在完整路徑中存在一個錯誤,並且它實際上並不像寫入那樣存在。 – zeuxcg

+0

這很奇怪,如果我在dae和xml之間切換,它確實似乎不在乎!我更喜歡它是dae,因爲那樣我就不需要繼續改變我的擴展......但是,如果我改變了,它確實可行。如果我不這樣做,它不? – Jimmyt1988

+0

它*真的* pugixml沒關係:)也許你的.dae文件實際上是命名爲Scene.dae.xml,並且Windows在你的資源管理器中隱藏了你的.xml擴展名? – zeuxcg