Jump to content

Recommended Posts

Posted

Boa tarde estou a fazer um trabalho e preciso de apartir de uma linha selecionada do datagrid gerar o xml o código que tenho para fazer isso é este:

for (int j = 0; j < this.dataGridView1.Rows.Count - 1; j++)
{
if (this.dataGridView1.Rows[j].Selected)
{
int ds = Convert.ToInt32(this.dataGridView1[0, j].Value.ToString());
int c1 = Convert.ToInt32(this.dataGridView1[1, j].Value.ToString());
DateTime c2 = Convert.ToDateTime(this.dataGridView1[2, j].Value.ToString());
DateTime c3 = Convert.ToDateTime(this.dataGridView1[3, j].Value.ToString());
int c4 = Convert.ToInt32(this.dataGridView1[4, j].Value.ToString());
XmlTextWriter writer = new XmlTextWriter("ReceitaXML.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement("Table");
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
writer.WriteStartElement("Table");
writer.WriteStartElement("Receita");
writer.WriteEndElement();
writer.WriteStartElement("ID");
writer.WriteValue(ds);
writer.WriteEndElement();
writer.WriteStartElement("Paciente");
writer.WriteValue(c1);
writer.WriteEndElement();
writer.WriteStartElement("Data");
writer.WriteValue(c2);
writer.WriteEndElement();
writer.WriteStartElement("Data_Validade");
writer.WriteValue(c3);
writer.WriteEndElement();

MessageBox.Show("XML File created ! ");

Já fiz várias pesquisa mas não encontrei o que procuro

e quando carrego no button não faz nada

outra coisa como posso gerar xsd a partir do que tenho?

Posted (edited)

Podes usar um DataSet com uma DataTable para este propósito.

Cria um dataset, com uma datatable, com as colunas que precisas. Escreves o xsd desse dataset para ficheiro: DataSet.WriteXmlSchema()

preenches o DataSet com os dados e depois usa DataTable.WriteXml() para exportares para xml.

Se o teu esquema de dados é sempre o mesmo, Cria um dataset com uma datatable e usa o mesmo para este propósito usando designer do VS. Assim saltarás a parte de teres de definir a estrutura na hora e beneficias pelo uso de uma estrutura fortemente tipada

Edited by rumbafum
  • 2 weeks later...
Posted (edited)

boas tenho este codigo para gerar o xml o problema é que o id aparece assim ="_x0033_" e a data aparece _x0030_3-05-2015" a data é 03-05-2015 e o codigo que tenho é este

DataSet d = new DataSet("DataSet1");

d.WriteXmlSchema("c:\\Receita.xml");

DataTableCollection dtc;

dtc = d.Tables;

DataTable t = new DataTable("ReceitaXML");

dtc.Add(t);

d.WriteXmlSchema("c:\\Receita.xml");

DataColumnCollection tc = t.Columns;

DataColumn c;

Type ty;

ty = Type.GetType("System.Int32");

c = new DataColumn(dataGridView1.CurrentRow.Cells[0].Value.ToString() , ty);

tc.Add©;

ty = Type.GetType("System.DateTime");

c = new DataColumn(dataGridView1.CurrentRow.Cells[1].Value.ToString() , ty);

tc.Add©;

ty = Type.GetType("System.DateTime");

c = new DataColumn(dataGridView1.CurrentRow.Cells[2].Value.ToString(), ty);

tc.Add©;

// dtc.Add(t);

/* t = new DataTable("XMLGerado");

ty = Type.GetType("System.String");

c = new DataColumn("Name", ty);

tc = t.Columns;

tc.Add©;

dtc.Add(t);*/

d.WriteXmlSchema("c:\\Receita.xml");

MessageBox.Show("XML Atualizado");

Edited by gregurs

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.