I don't think you can.
XMLSchedulingDataProcessor doesn't have any methods to serialize your jobs back to the file and QuartzXmlConfiguration20 seems to have only read-only collections.
I've tried to do some experiments.
Apparently you can manage to whole process of loading and processing the xml file:
ITypeLoadHelper loadHelper = new SimpleTypeLoadHelper();
loadHelper.Initialize();
XMLSchedulingDataProcessor processor = new XMLSchedulingDataProcessor(loadHelper);
processor.OverWriteExistingData = true;
processor.ProcessFileAndScheduleJobs("my_jobs.xml", Scheduler);
(so you do not have to use any configuration in your config file) but, again, there's no way to append extra elements.
Another way could be to deserialize the xml file and try to manipulate it:
string xml = string.Empty;
using (var xmlJobFile = new System.IO.StreamReader("my_jobs.xml"))
{
xml = xmlJobFile.ReadToEnd();
}
XmlSerializer xs = new XmlSerializer(typeof(QuartzXmlConfiguration20));
QuartzXmlConfiguration20 data = (QuartzXmlConfiguration20)xs.Deserialize(new StringReader(xml));
if (data == null)
{
throw new SchedulerConfigException("Job definition data from XML was null after deserialization");
}
But it gets too complicated.
I reckon that the best option is to use AdoJobStore.