Home Products Fielded Text About

Xilytix: Writing of Declared Fielded Text file

This examples shows how a Declared Fielded Text file can be written.  It uses the Basic Example Meta File.

The Declared Fielded Text File to be written is:

!|!Fielded Text^| Version="1.1"

! MetaEmbedded="True"

! <?xml version="1.0" encoding="utf-8"?>

! <FieldedText LineCommentChar="!">

!   <Field Name="PetName" />

!   <Field Name="Age" DataType="Float" />

!   <Field Name="Color" />

!   <Field Name="DateReceived" DataType="DateTime" Format="d MMM yyyy" />

!   <Field Name="Price" DataType="Decimal" />

!   <Field Name="NeedsWalking" DataType="Boolean" />

!   <Field Name="Type" />

! </FieldedText>

Rover,4.5,Brown,12 Feb 2004,80,True,Dog

Charlie,,Gold,5 Apr 2007,12.3,False,Fish

Console Application

using System;

using Xilytix.FieldedText;


namespace Write_Declared

{

    class Program

    {

        // Example of using FtWriter to write a declared Fielded Text

        // (CSV) file.

        static void Main(string[] args)

        {

            // Name of file containing Meta

            const string MetaFileName = "BasicExampleMeta.ftm";

            // Name of file to be written

            const string FtxFileName = "BasicExample.ftx";


            // Define FieldNames

            const string PetNameFieldName = "PetName";

            const string AgeFieldName = "Age";

            const string ColorFieldName = "Color";

            const string DateReceivedFieldName = "DateReceived";

            const string PriceFieldName = "Price";

            const string NeedsWalkingFieldName = "NeedsWalking";

            const string TypeFieldName = "Type";


            // Create Meta from file

            FtMeta meta = FtMetaSerializer.Deserialize(MetaFileName);

            meta.LineCommentChar = '!'; // Is not set.  Change to !

            meta.HeadingLineCount = 0; // Change to 0. Do not want any

                                       // heading lines in this example


            // Create FtWriterSettings to flag we want Declared file

            // written

            FtWriterSettings settings = new FtWriterSettings();

            settings.Declared = true;

            settings.MetaReferenceType = FtMetaReferenceType.Embedded;


            // Create Writer

            using (FtWriter writer = new FtWriter(meta, FtxFileName,

                                                  settings))

            {

                // Write 1st Record

                writer[PetNameFieldName] = "Rover";

                writer[AgeFieldName] = 4.5;

                writer[ColorFieldName] = "Brown";

                writer[DateReceivedFieldName] =

                    new DateTime(2004, 2, 12);

                writer[PriceFieldName] = 80M;

                writer[NeedsWalkingFieldName] = true;

                writer[TypeFieldName] = "Dog";


                writer.Write();


                // Write 2nd Record

                writer[PetNameFieldName] = "Charlie";

                writer[AgeFieldName] = null;

                writer[ColorFieldName] = "Gold";

                writer[DateReceivedFieldName] = new DateTime(2007, 4, 5);

                writer[PriceFieldName] = 12.3M;

                writer[NeedsWalkingFieldName] = false;

                writer[TypeFieldName] = "Fish";


                writer.Write();

            }

        }

    }

}