public class ProductAdvertisement
{
public TdDate Date;
public Int32 ProductId;
public Int32? QuantityAvailable;
[XmlElementAttribute(IsNullable = true)]
public TdPeriodDate advertisePeriod
public String adPlacement;
}
internal class ProductAdvertisementWriter
{
public static void Write()
{
// Setup the advertisement
ProductAdvertisement x = new ProductAdvertisement();
x.Date = new TdDate(DateTime.Today);
x.ProductId = 100;
x.QuantityAvailable = 2000;
// Advertisement will last for 7 days from today
x.AdvertisePeriod = new TdPeriodDate(new TdDate(DateTime.Today), new TdDate(DateTime.Today + new TimeSpan(7, 0, 0, 0)));
x.adPlacement = "The Newspaper";
// Write out advertisements.
//
// Open the file.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(@"C:\Temp\ProductAdvertisements.XML", settings);
writer.WriteStartElement("ProductAdvertisements");
// Write out the schema.
XmlSchemas schemas = new XmlSchemas();
XmlSchemaExporter schExporter = new XmlSchemaExporter(schemas);
schExporter.ExportTypeMapping(new XmlReflectionImporter().ImportTypeMapping(typeof(ProductAdvertisement)));
// The schemas must be compiled in order for the schema of the Period type
// to be written out.
schemas.Compile(null, false);
schemas[0].Write(writer);
// Write out the advertisement.
XmlSerializer xml = new XmlSerializer(typeof(ProductAdvertisement));
xml.Serialize(writer, x);
// Close the document.
writer.WriteEndDocument();
writer.Close();
}
}
/* Output is:
2007-02-0110020002007-02-012007-02-08The Newspaper
*/