Wrox Programmer Forums
Go Back   Wrox Programmer Forums > XML > XML
|
XML General XML discussions.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the XML section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old December 31st, 2004, 04:25 AM
Authorized User
 
Join Date: Dec 2004
Posts: 25
Thanks: 0
Thanked 0 Times in 0 Posts
Default load values into the dataset from the xml

Hi
I have done a c# program , such that my program reads any schema file and inserts values for that fields in a new xml file. ie, for exx : for the datatype string (john mathew1, john mathew2,..) for decimal(900.90, 900.89/..) like so on for about 200 values for every datatypes.

Now, I require you to build a program further. Imagine that you have an xml file which is just a list of values for a single field. Then within my program if I come across that particualr field , then I have to load the values from that xml file into the output file.

Here is my coding which i had done previously. please give me an idea how to give the coding.



using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml;
using System.Xml.Schema;

namespace testdatagenerator
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.TextBox txtSchema;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.TextBox txtXml;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Button button3;
        private System.Windows.Forms.DataGrid dataGrid1;
        private System.Data.DataSet dataSet1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.txtSchema = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
            this.txtXml = new System.Windows.Forms.TextBox();
            this.button2 = new System.Windows.Forms.Button();
            this.button3 = new System.Windows.Forms.Button();
            this.dataGrid1 = new System.Windows.Forms.DataGrid();
            this.dataSet1 = new System.Data.DataSet();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            ((System.ComponentModel.ISupportInitialize)(this.d ataGrid1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.d ataSet1)).BeginInit();
            this.SuspendLayout();
            //
            // txtSchema
            //
            this.txtSchema.Location = new System.Drawing.Point(232, 24);
            this.txtSchema.Name = "txtSchema";
            this.txtSchema.Size = new System.Drawing.Size(368, 20);
            this.txtSchema.TabIndex = 0;
            this.txtSchema.Text = "";
            //
            // button1
            //
            this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.button1.Location = new System.Drawing.Point(616, 24);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(64, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Browse";
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // txtXml
            //
            this.txtXml.Location = new System.Drawing.Point(232, 64);
            this.txtXml.Name = "txtXml";
            this.txtXml.Size = new System.Drawing.Size(368, 20);
            this.txtXml.TabIndex = 2;
            this.txtXml.Text = "";
            //
            // button2
            //
            this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.button2.Location = new System.Drawing.Point(616, 64);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(64, 23);
            this.button2.TabIndex = 3;
            this.button2.Text = "Load";
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // button3
            //
            this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.button3.Location = new System.Drawing.Point(696, 64);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(64, 23);
            this.button3.TabIndex = 4;
            this.button3.Text = "Save";
            this.button3.Click += new System.EventHandler(this.button3_Click);
            //
            // dataGrid1
            //
            this.dataGrid1.DataMember = "";
            this.dataGrid1.DataSource = this.dataSet1;
            this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
            this.dataGrid1.Location = new System.Drawing.Point(0, 120);
            this.dataGrid1.Name = "dataGrid1";
            this.dataGrid1.Size = new System.Drawing.Size(776, 320);
            this.dataGrid1.TabIndex = 5;
            //
            // dataSet1
            //
            this.dataSet1.DataSetName = "NewDataSet";
            this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US");
            //
            // label1
            //
            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.label1.Location = new System.Drawing.Point(32, 24);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(184, 23);
            this.label1.TabIndex = 6;
            this.label1.Text = "Enter the Xml Schema";
            //
            // label2
            //
            this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.label2.Location = new System.Drawing.Point(32, 64);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(192, 23);
            this.label2.TabIndex = 7;
            this.label2.Text = "Enter the Xml file";
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(808, 454);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.dataGrid1);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.txtXml);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.txtSchema);
            this.Name = "Form1";
            this.Text = "TestDatagenerator";
            ((System.ComponentModel.ISupportInitialize)(this.d ataGrid1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.d ataSet1)).EndInit();
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "select schema file" ;
            fdlg.InitialDirectory = @"c:\CDEV\testdatagenerator" ;
            fdlg.Filter = "schema files(*.xsd) |*.xsd| all files(*.*) | *.*";
            fdlg.FilterIndex = 2 ;
            fdlg.RestoreDirectory = true ;
            if(fdlg.ShowDialog() == DialogResult.OK)
            {
                txtSchema.Text = fdlg.FileName ;
            }
        }

        private void button2_Click(object sender, System.EventArgs e)
        {
            dataSet1.ReadXmlSchema(txtSchema.Text);

            foreach (DataTable dTbl in dataSet1.Tables)
            {
                for(int j = 0; j <= 200; j++)
                {
                    object[] oValues = new object[dTbl.Columns.Count];
                    int i = 0 ;

                    foreach (DataColumn dColmn in dTbl.Columns)
                    {
                        switch(dColmn.DataType.ToString())

                        {
                            case "System.String":
                                oValues[i] = (string) "Castle Hampers" + j;
                                break;

                            case "System.Int32":
                                oValues[i] = (int) 100 + j;
                                break;

                            case "System.DateTime":
                                oValues[i] = new DateTime(2004,01,30).AddDays(j * 1);
                                break;

                            case "System.Decimal":
                                oValues[i] = new Decimal(10000900.99) + j;
                                break;

                            case "System.Int16":
                                oValues[i] = (short) 32767 - j;
                                break;

                            case "System.Int64":
                                oValues[i] = (long) 400 - j;
                                break;

                            case "System.Double":
                                oValues[i] = (double) 888888 - j;
                                break;

                            case "System.Single":
                                oValues[i] = (float) 4.5f + j;
                                break;

                        }

                        i = i+1;
                    }

                    dTbl.Rows.Add(oValues);
                }
            }
        }
        private void button3_Click(object sender, System.EventArgs e)
        {

            dataSet1.WriteXml(txtXml.Text,XmlWriteMode.WriteSc hema );
            MessageBox.Show("Saved");
        }
    }
}



dhol

__________________
SureShot
 
Old December 31st, 2004, 05:34 AM
Imar's Avatar
Wrox Author
 
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
Default

Cross-post. Please see here for an answer: http://p2p.wrox.com/topic.asp?TOPIC_ID=24229

Can you please not post the same message more than once??
Cheers,

Imar





Similar Threads
Thread Thread Starter Forum Replies Last Post
Can I load this xml to a dataset? chepla C# 2005 1 August 11th, 2008 08:51 AM
Fill(dataset) or dataset.load() salemkoten SQL Server 2005 1 November 2nd, 2006 11:04 PM
Load CDATA Section into DataSet monuindia2002 XML 1 April 25th, 2006 05:14 AM
load values into the dataset from the xml dhol General .NET 2 December 31st, 2004 06:37 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.