コードブロックとライブラリ pugixml を使用して xml ファイルを解析する方法を探していましたが、さまざまな方法を試しましたが、まだ機能しません。
私が解析しなければならない XML はグラフ (houses) で構成されており、C++ での私のプログラムは、構造体を使用してこのグラフを表現することです。
XML ファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<WATSON>
<PHILIPS> 125 </PHILIPS>
<PEREZ> 254 </PEREZ>
<SANTOS> 222 </SANTOS>
</WATSON>
<PHILIPS>
<CENTER> 121 </CENTER>
<WATSON> 125 </WATSON>
<SANTOS> 55 </SANTOS>
</PHILIPS>
<PEREZ>
<WATSON> 254 </WATSON>
<CENTER> 110 </CENTER>
</PEREZ>
等...
C++ のコード: (重要な部分 :) )
int main(){
pugi::xml_document file;
if (!file.load_file("Sample.xml")){
cout << "Error loading file XML." << endl;
system("PAUSE");
return -1;
}
pugi::xml_node node;
getNodeInfo(node);
cin.get();
return 0;
}
void getNodeInfo(xml_node node){
for (xml_node_iterator it = node.begin(); it != node.end(); ++it)
{
cout << it->name() << "\n--------\n";
system("PAUSE");
for (xml_attribute_iterator ait = it->attributes_begin(); ait != it->attributes_end(); ++ait)
{
cout << " " << ait->name() << ": " << ait->value() << endl;
}
cout << endl;
for (xml_node_iterator sit = node.begin(); sit != node.end(); ++sit)
{
getNodeInfo(*sit);
}
}
}
教えてください、コードの間違いは何ですか? 常にif条件に入ります。つまり、ファイルをロードしません。ありがとうございました!