예제 #1
0
int ReadXMLCommand :: Execute( ALib::CommandLine & cmd ) {

	IOManager io( cmd );

	for ( unsigned int i = 0; i < io.InStreamCount(); i++ ) {
		ALib::XMLTreeParser tp;
		std::auto_ptr<ALib::XMLElement>	safe_root(
					tp.ParseStream( io.In(i) )
		);

		ALib::XMLElement * root = safe_root.get();

		if ( root == 0 ) {
			CSVTHROW( "XML error '" << tp.ErrorMsg()
						<< "' in " << io.InFileName( i )
						<< " at line " << tp.ErrorLine()
			);
		}

		TableToCSV( root, io, i );
	}

	return 0;
}