I am building a web application that will generate charts and graphs using a 3rd party charting component. This charting component requires it receive an XML file containing the design parameters and data in order to render the chart. The application may render up to 10 to 20 charts per page view. I am looking for suggestions for the most efficient way to handle this.
I need to load XML templates, of which there will be about 15-20, one for each chart type definition. With the templates loaded, I will them add the chart specific data and send it off to the charting component for rendering. Some of the possible ways of handling this off the top of my head include ->
- Build each XML template in code, using StringBuilder
- Build each XML template in code, using one of the .NET XML classes
- Store each XML template in a file, load it from the disk on demand
- Store each XML template in a file, load them all at once on application start
Storing the XML templates in files would greatly simplify the development processes for me, but I don’t know what kind of performance hit I would take, especially if I was continually reading them off the disk. It seems like option 4 would be the better way to go, but I’m not quite sure the best practice way to implement that solution.
So.. any thoughts out there?
I’m just taking a crack at it but I’d save the templates into a constant like so and then use string.format to substitute any values and convert to XML file and pass it along to the 3rd party component.