Tenho o seguinte código em um programa que eu fiz (segue abaixo):
Basicamente, o que ele faz é criar dois arquivos XML. No final do código preciso que seja carregado em um DataGridView os dados gerados dentro do segundo arquivo XML.
Ele até carrega as colunas bonitinho, mas não carrega os dados do meu arquivo XML. Não sei se estou gerando o arquivo XML errado ou algo assim. O arquivo XML gerado abre pelo XMLNotePad, o que significa que ele é um arquivo XML valido.
Alguém poderia me dar uma luz?
Private Sub btnCria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCria.Click
'btnGrava.Enabled = True
Try
'Cria o arquivo XML contendo os dados da estrutura
Dim writer As New XmlTextWriter(lblCaminhoProjeto.Text, Nothing)
'Cria a inicialização do arquivo XML
writer.WriteStartDocument()
'Seta os comentários das linhas iniciais
writer.WriteComment("Arquivo contendo dados gerais do projeto de fundações")
writer.WriteComment("Arquivo gerado pelo programa SCE-BARONI.")
'Cria o elemento raiz
writer.WriteStartElement("GeneralidadesEstaqueamento")
'Cria o elemento com os dados gerais da estrutura
writer.WriteStartElement("DadosGerais")
'Preenche com os dados gerais informados
writer.WriteElementString("NomeObra", txtNomeObra.Text)
writer.WriteElementString("Observacoes", rtbObservacoes.Text)
writer.WriteElementString("Data", dtpData.Text)
'Encerra o elemento DadosGerais
writer.WriteEndElement()
'Cria o elemento com os dados dos arquivos
writer.WriteStartElement("Arquivos")
'Cria vinculo com o arquivo de projeto
writer.WriteElementString("Projeto", lblCaminhoProjeto.Text)
'Cria, caso selecionado pelo usuário, o vínculo com o memorial de cálculos
If (lblLSimNao.Text = "Sim") Then
writer.WriteElementString("Calculo", lblCaminhoFolhaCalculo.Text)
Else
writer.WriteElementString("Calculo", "NS")
End If
'Cria elemento contendo o caminho dos dados geométricos da estrutura
writer.WriteElementString("Geometria", "C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml")
'Encerra elemento Arquivos
writer.WriteEndElement()
'Encerra o elemento raiz
writer.WriteEndElement()
'Escreve o XML para o arquivo e fecha o objeto escritor
writer.Close()
'Cria XML com os dados geométricos do estaqueamento
Dim writerEstaq As New XmlTextWriter("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml", Nothing)
'Cria inicialização do arquivo XML
writerEstaq.WriteStartDocument()
'Seta os comentários das linhas iniciais
writerEstaq.WriteComment("Arquivo contendo dados geométricos do projeto de fundações")
writerEstaq.WriteComment("Arquivo gerado pelo programa SCE-BARONI.")
'Cria elemento geral dos estaqueamentos
writerEstaq.WriteStartElement("Estacas")
'Cria atributo com o tipo de cálculo selecionado para a fundação
'writerEstaq.WriteAttributeString("MetodoCalculo", "Schiel")
'Cria tantos elementos de estacas quanto informado pelo usuário
'Declara a variável do contador
Dim x, y As Integer
x = Convert.ToInt64(txtQtdEstacas.Text)
y = 0
'Cria os elementos
While y < x
Dim Ident As Integer
Ident = y + 1
'Cria elemento com o nome da estaca em questão
writerEstaq.WriteStartElement("E" + Ident.ToString())
'Seta atributos da estaca em questão
writerEstaq.WriteElementString("ID", "E" + Ident.ToString())
writerEstaq.WriteElementString("X", txtAlturaCoroamento.Text)
writerEstaq.WriteElementString("Y", "0")
writerEstaq.WriteElementString("Z", "0")
writerEstaq.WriteElementString("A", "0")
writerEstaq.WriteElementString("W", "0")
writerEstaq.WriteElementString("S", "1")
'Encerra elemento da estaca em questão
writerEstaq.WriteEndElement()
'Incrementa contador
y += 1
End While
'Encerra elemento Estacas
writerEstaq.WriteEndElement()
'Escreve o XML para o arquivo e fecha o objeto escritor
writerEstaq.Close()
MsgBox("Arquivos gerados com sucesso.")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information, "Erro!")
End Try
'Adiciona para o dgvEstacas os dados da estrutura criada
dtGeometria = New DataTable("Estacas")
dtGeometria.Columns.Add("ID")
dtGeometria.Columns.Add("X")
dtGeometria.Columns.Add("Y")
dtGeometria.Columns.Add("Z")
dtGeometria.Columns.Add("A")
dtGeometria.Columns.Add("W")
dtGeometria.Columns.Add("S")
dtGeometria.ReadXml("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml")
dgvEstacas.DataSource = dtGeometria
dgvEstacas.Refresh()
Pergunta
hencker
Bom dia pessoal,
Tenho o seguinte código em um programa que eu fiz (segue abaixo):
Basicamente, o que ele faz é criar dois arquivos XML. No final do código preciso que seja carregado em um DataGridView os dados gerados dentro do segundo arquivo XML.
Ele até carrega as colunas bonitinho, mas não carrega os dados do meu arquivo XML. Não sei se estou gerando o arquivo XML errado ou algo assim. O arquivo XML gerado abre pelo XMLNotePad, o que significa que ele é um arquivo XML valido.
Alguém poderia me dar uma luz?
Editado por henckerLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.