公式ドキュメントでここで指定されているように、最初にファイルを null で終了する char バッファーにロードする必要があります。
http://rapidxml.sourceforge.net/manual.html#classrapidxml_1_1xml__document_8338ce6042e7b04d5a42144fb446b69c_18338ce6042e7b04d5a42144fb446b69c
ファイルの内容を char 配列に読み込み、この配列を使用してxml_document::parse()
関数に渡します。
を使用している場合はifstream
、次のようなものを使用して、ファイルの内容全体をバッファーに読み取ることができます
ifstream file ("test.xml");
if (file.is_open())
{
file.seekg(0,ios::end);
int size = file.tellg();
file.seekg(0,ios::beg);
char* buffer = new char [size];
file.read (buffer, size);
file.close();
// your file should now be in the char buffer -
// use this to parse your xml
delete[] buffer;
}
上記のコードをコンパイルしたわけではなく、メモリから書いただけであることに注意してください。ただし、これは大まかなアイデアです。ifstream
正確な詳細については、ドキュメントを参照してください。とにかく、これはあなたが始めるのに役立つはずです。