1

我正在尝试加载与 loadfile.cpp 位于同一目录中的“tree.xml”,该目录也有 pugixml.cpp、pugixml.hpp、pugiconfig.hpp。

#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在“加载文档”下。

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>

为什么文件加载不出来?我不知道出了什么问题。

4

1 回答 1

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;
}
于 2014-11-09T00:37:26.640 回答