2014-11-09 90 views
1

我試圖加載「tree.xml」,這是在同一個目錄中loadfile.cpp其中也有pugixml.cpp,pugixml.hpp,pugiconfig.hpp。pugixml不加載文件

#include "pugixml.cpp" 
#include <iostream> 
using namespace std; 

int main() 
{ 
    pugi::xml_document doc; 

    pugi::xml_parse_result result = doc.load_file("tree.xml"); 

    if (doc.load_file("file.xml")){ 
     cout << "success" << endl; 
    }else{ 
     cout << "fail" << endl; 
    } 

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

和我得到的結果是:

fail 
Load result: No error, mesh name: 

我按照這裏的手動: http://cdn.rawgit.com/zeux/pugixml/v1.4/docs/quickstart.html下 「裝Documnet」。

的tree.xml文件看起來是這樣的:

<bookstore> 
    <book category="COOKING"> 
    <title lang="en">Everyday Italian</title> 
    <author>Giada De Laurentiis</author> 
    <year>2005</year> 
    <price>30.00</price> 
    </book> 
    <book category="CHILDREN"> 
    <title lang="en">Harry Potter</title> 
    <author>J K. Rowling</author> 
    <year>2005</year> 
    <price>29.99</price> 
    </book> 
    <book category="WEB"> 
    <title lang="en">Learning XML</title> 
    <author>Erik T. Ray</author> 
    <year>2003</year> 
    <price>39.95</price> 
    </book> 
</bookstore> 

爲什麼不是文件加載?我無法弄清楚你的錯誤。

回答

1

沒關係。我找到了解決方案。

#include "pugixml.cpp" 
#include <iostream> 
using namespace std; 

int main() 
{ 
    pugi::xml_document doc; 

    pugi::xml_parse_result result = doc.load_file("tree.xml"); 

    if (result)){ // CHANGE THIS LINE TO RESULT INSTEAD OF doc.load_file("tree.xml") 
     cout << "success" << endl; 
    }else{ 
     cout << "fail" << endl; 
    } 

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

嗨,我仍然是其失敗。無法加載/讀取文件。沒有得到問題。 – AdiAtAnd 2016-09-08 00:41:43