Fórum Importar arquivos XML #21447
20/10/2009
0
Bom dia, venho mais uma vez tirar uma dúvida sobre XML
eu gostaria de importar os dados que estão em um arquivo XML para uma base MySQL, a leitura eu consegui fazer, mas surgiu uma dúvida
Função para Leitura do arquivo XML
Mas ele me retorna dessa forma. Ex:
Como faço para retornar apenas o campo sem o elemento? Ex:
eu gostaria de importar os dados que estão em um arquivo XML para uma base MySQL, a leitura eu consegui fazer, mas surgiu uma dúvida
Função para Leitura do arquivo XML
XElement xml = XElement.Load(sTabela, LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);
//Mostra Caminho
MessageBox.Show(string.Format("Caminho : ", xml.BaseUri));
//Mostra Informacao
IXmlLineInfo lineInfo = xml as IXmlLineInfo;
MessageBox.Show(string.Format("LineNumber: e LinePosition: ", lineInfo.LineNumber, lineInfo.LinePosition));
//Carrega Dados
IEnumerable<XElement> enumerable = xml.Elements();
//Mostra todos os dados
foreach (var item in enumerable)
MessageBox.Show(item.ToString());
//Mostra todos os atributos do elemento LOJA
foreach (var item in enumerable.Attributes("Loja"))
MessageBox.Show(item.ToString());
//Mostra todos os atributos do elemento DATA
foreach (var item in enumerable.Elements("Data"))
MessageBox.Show(item.ToString());
//Mostra todos os atributos do elemento OBS
foreach (var item in enumerable.Attributes("Obs"))
MessageBox.Show(item.ToString());Mas ele me retorna dessa forma. Ex:
<Data>19/10/2009</Data>
Como faço para retornar apenas o campo sem o elemento? Ex:
19/10/2009
Facc
Curtir tópico
+ 0
Responder
Posts
20/10/2009
Facc
Achei isso na internet
Realmente exibe apenas o que está entre [b:a6d6afb909]<Node></Node>[/b:a6d6afb909], mas como faço para jogar isso em um insert? pois pelo que percebi ele exibe um elemento de cada vez.
string filename = "test.xml";
XmlTextReader tr = new XmlTextReader(filename);
while(tr.Read())
{
if(tr.NodeType == XmlNodeType.Text)
System.Console.WriteLine(tr.Value);
}Realmente exibe apenas o que está entre [b:a6d6afb909]<Node></Node>[/b:a6d6afb909], mas como faço para jogar isso em um insert? pois pelo que percebi ele exibe um elemento de cada vez.
Responder
Gostei + 0
20/10/2009
Facc
consegui resolver da seguinte forma
Depois uso [b:e4ff065c4d]Dados[0], Dados[1], Dados[2]..Dados[n][/b:e4ff065c4d] no campo que eu precisar
//Lista de string para receber dados do XML
List<string> Dados = new List<string>();
//Abre arquivo XML
XmlTextReader linha = new XmlTextReader(sArquivoXml);
// Enquando existir linha no arquivo faça
while (linha.Read())
{
// Se for uma linha de conteudo apresente do valor da linha.
if (linha.NodeType == XmlNodeType.Text)
// Escreve o valor da linha.
Dados.Add(linha.Value);
}Depois uso [b:e4ff065c4d]Dados[0], Dados[1], Dados[2]..Dados[n][/b:e4ff065c4d] no campo que eu precisar
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)