Importar arquivos XML
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
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
Clique aqui para fazer login e interagir na Comunidade :)