Carregar um XML em um DataGrid em uma Aplicação SmartDevice C#
Olá Galera Bom dia a Todos !
Estou com um problema tenso ainda meio iniciante no .net mas motivação não falta pra seguie enfrente.
Estou fazendo uma aplicação no VS 2008 para um HTC estou usando o C# - Smart Device
Preciso ler um XML document e carregar os dados em um DataGRid
mas em tudo que eu procuro não consigo.
Alguém pode me ajudar como fazer isso ?
Grato demais desde Já, Obrigado !
Estou com um problema tenso ainda meio iniciante no .net mas motivação não falta pra seguie enfrente.
Estou fazendo uma aplicação no VS 2008 para um HTC estou usando o C# - Smart Device
Preciso ler um XML document e carregar os dados em um DataGRid
mas em tudo que eu procuro não consigo.
Alguém pode me ajudar como fazer isso ?
Grato demais desde Já, Obrigado !
Interativa Sistemas
Curtidas 0
Respostas
Vinicius Mesquita
02/09/2010
Boas,
Cara, já tentou utilizar as classes do Namespace System.Xml?
GOSTEI 0
Interativa Sistemas
02/09/2010
Vinicius
Não sei se estou no caminho certo pois estou aprendendo o .NEt para mobile agora sabe...
Sou bem leigo ainda..
mas estou fazendo assim o código
private void LoadGrid() { DataSet dsXml = new DataSet();
caminhoXml = (\\0101.xml);
dsXml.ReadXml(caminhoXml, XmlReadMode.InferSchema);
dbDados.DataSource = dsXml.Tables["Collection"];
dbDados.Refresh();
}
E gera um erro assim quando clico no botão Ler XML no Grid. "An unexpected error has occurred in HTC.exe
Select Quit and the restart this
program, or sleect Details for more
information.Could not find file \0101.xml."
O xml esta na mesma pasta da aplicação
estou usando como exemplo este XML.
<Collection>
<Book>
<Title>Principle of Relativity</Title>
<Author>Albert Einstein</Author>
<Genre>Physics</Genre>
</Book>
<Book>
<Title>Cosmos</Title>
<Author>Carl Sagan</Author>
<Genre>Cosmology</Genre>
</Book>
</Collection> Codificação UTF-8 :S
Não sei se estou no caminho certo pois estou aprendendo o .NEt para mobile agora sabe...
Sou bem leigo ainda..
mas estou fazendo assim o código
private void LoadGrid() { DataSet dsXml = new DataSet();
caminhoXml = (\\0101.xml);
dsXml.ReadXml(caminhoXml, XmlReadMode.InferSchema);
dbDados.DataSource = dsXml.Tables["Collection"];
dbDados.Refresh();
}
E gera um erro assim quando clico no botão Ler XML no Grid. "An unexpected error has occurred in HTC.exe
Select Quit and the restart this
program, or sleect Details for more
information.Could not find file \0101.xml."
O xml esta na mesma pasta da aplicação
estou usando como exemplo este XML.
<Collection>
<Book>
<Title>Principle of Relativity</Title>
<Author>Albert Einstein</Author>
<Genre>Physics</Genre>
</Book>
<Book>
<Title>Cosmos</Title>
<Author>Carl Sagan</Author>
<Genre>Cosmology</Genre>
</Book>
</Collection> Codificação UTF-8 :S
GOSTEI 0
Vinicius Mesquita
02/09/2010
Boas,
Cara troca o seu método por esse:
Code Snippet:
private void LoadGrid()
{
string XMLFile = @"CaminhodoArquivo\NomedoArquivo.xml";
DataSet ds = new DataSet();
FileStream fsReadXml = FileStream (myXMLfile, System.IO.FileMode.Open);
try
{
ds.ReadXml(fsReadXml);
SeuDataGrid.DataSource = ds;
SeuDataGrid.DataMember = "Collection";
}
catch (Exception ex)
{
//Trate a exception da maneira que quiser.
}
} Faz essa tentativa, e veja o comportamento da aplicação.
Fico no aguardo.
{
string XMLFile = @"CaminhodoArquivo\NomedoArquivo.xml";
DataSet ds = new DataSet();
FileStream fsReadXml = FileStream (myXMLfile, System.IO.FileMode.Open);
try
{
ds.ReadXml(fsReadXml);
SeuDataGrid.DataSource = ds;
SeuDataGrid.DataMember = "Collection";
}
catch (Exception ex)
{
//Trate a exception da maneira que quiser.
}
} Faz essa tentativa, e veja o comportamento da aplicação.
Fico no aguardo.
GOSTEI 0
Vinicius Mesquita
02/09/2010
Cara,
troca essa linha : SeuDataGrid.DataMember = "Collection";
por essa: SeuDataGrid.DataMember = "Book";
Comigo funcionou.
Espero ter ajudado.
GOSTEI 0
Interativa Sistemas
02/09/2010
Olá Vinicius Blz troquei a linha lá também
para pegar a tabela certa...
Esta dando erro nesta linha depois do Igual no FileStream talvez esteja fantando alguma classe que eu não estou encontrando o erro é antes de compilar. é assim 'Systema.Io.FileStream' is a "type' but is used like a variable'
FileStream fsReadXml = FileStream (XmlFile, System.IO.FileMode.Open); \Rsss é duro ser iniciante nisso hehehe..=X
Esta dando erro nesta linha depois do Igual no FileStream talvez esteja fantando alguma classe que eu não estou encontrando o erro é antes de compilar. é assim 'Systema.Io.FileStream' is a "type' but is used like a variable'
FileStream fsReadXml = FileStream (XmlFile, System.IO.FileMode.Open); \Rsss é duro ser iniciante nisso hehehe..=X
GOSTEI 0
Vinicius Mesquita
02/09/2010
Ah sim, my stake!
Faltou a palavra-chave "new", pois estamos criando um novo objeto a partir da classe FileStream.
" FileStream fsReadXml = new FileStream( .... "
Faltou a palavra-chave "new", pois estamos criando um novo objeto a partir da classe FileStream.
" FileStream fsReadXml = new FileStream( .... "
GOSTEI 0
Vinicius Mesquita
02/09/2010
Só não esquece de marcar como "Respondido", caso tenha dado certo.
GOSTEI 0