Parameters
- xmlSchemaSet
- Holds zero or more XML Schema definition language (XSD) schemas.
Return Value
Returns a XmlSchemaComplexType that describes a TdNumber.
This examples shows how to use
TdNumber with
Xml.Serialization.XmlSerializer class.
Xml.Serialization.XmlElementAttribute is used to indicate that the column can be
Null.
public class Order
{
public DateTime Date;
public Int32 ProductId;
public Int32 Quantity;
public Int32? BackOrderQuantity;
[XmlElementAttribute(IsNullable = true)]
public TdNumber BackOrderPrice;
}
internal class OrderWriter
{
public static void Write()
{
// Setup the order
Order x = new Order();
x.Date = DateTime.Today;
x.ProductId = 100;
x.Quantity = 2000;
x.BackOrderQuantity = 100;
x.BackOrderPrice = new TdNumber(2684.87M); // This will be stored as 2.68487e+03
// Write out today's orders to the file.
//
// Open the file.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(@"C:\Temp\TodayOrders.XML", settings);
writer.WriteStartElement("TodayOrders");
// Write out the schema.
XmlSchemas schemas = new XmlSchemas();
XmlSchemaExporter schExporter = new XmlSchemaExporter(schemas);
schExporter.ExportTypeMapping(new XmlReflectionImporter().ImportTypeMapping(typeof(Order)));
schemas[0].Write(writer);
// Write out the orders.
XmlSerializer xml = new XmlSerializer(typeof(Order));
xml.Serialize(writer, x);
// Close the document.
writer.WriteEndDocument();
writer.Close();
}
}
/* Output is:
<TodayOrders>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Order" nillable="true" type="Order" />
<xs:complexType name="Order">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime" />
<xs:element minOccurs="1" maxOccurs="1" name="ProductId" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="BackOrderQuantity" nillable="true" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="BackOrderPrice" nillable="true" type="Teradata.Client.Provider.TdNumber" />
</xs:sequence>
</xs:complexType>
<xs:sequence>
<xs:element name="Data1" type="xs:integer" />
<xs:element name="Data2" type="xs:integer" />
<xs:element name="Data3" type="xs:integer" />
<xs:element name="Data4" type="xs:integer" />
<xs:element name="Data5" type="xs:integer" />
<xs:element name="Exponent" type="xs:integer" />
</xs:sequence>
<xs:complexType name="Teradata.Client.Provider.TdNumber">
</xs:complexType>
</xs:schema>
<Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Date>2007-02-01T00:00:00-08:00</Date>
<ProductId>100</ProductId>
<Quantity>2000</Quantity>
<BackOrderQuantity xsi:nil="true" />
<BackOrderPrice/>
<Data1> 0x0418C7 </Data1>
<Data2> 0 </Data2>
<Data3> 0 </Data3>
<Data4> 0 </Data4>
<Data5> 0 </Data5>
<Exponent> 3 </Exponent>
</BackOrderPrice/>
</Order>
</TodayOrders>
*/
Target Platforms: Windows 8.1, Windows 10, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019