Usuário com melhor resposta
ler vários arquivos xml

Pergunta
-
Estou criando uma página onde vou precisar ler vários arquivos xml, sendo que não sei o nome dos arquivos, pq vai depender do usuário, tem como eu ler todos e gerar um só arquivo xml tipo isso aqui
XmlDataDocument docxml = new XmlDataDocument(); docxml.Load(Server.MapPath("/arquivos/copiados/*.xml"));
Junior
Respostas
-
Junior,
A classe XmlDataDocument em especifico o método Load() não suporta múltiplos arquivos XML, ou seja, tem que carregar um por vez:
string[] caminhoArquivos = System.IO.Directory.GetFiles(Server.MapPath("/arquivos/copiados/"), "*.xml"); foreach (var caminho in caminhoArquivos) { XmlDataDocument docxml = new XmlDataDocument(); docxml.Load(caminho);
//Seu código...
}
A classe esta obsoleta segunda a documentação da mesma, existe recomendação para utilizar a classe XmlDocument:
http://msdn.microsoft.com/pt-br/library/system.xml.xmldatadocument.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Ricardo RussoModerator quinta-feira, 27 de dezembro de 2012 13:00
-
Junior, bom doa
vc pode fazer assim:
//lista os arquivos xml na pasta string path = @"c:\temp\"; foreach(string arquivoPath in System.IO.Directory.EnumerateFiles(path,"*.xml",System.IO.SearchOption.TopDirectoryOnly)) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(arquivoPath); }
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Ricardo RussoModerator quinta-feira, 27 de dezembro de 2012 13:00
Todas as Respostas
-
Junior, bom doa
vc pode fazer assim:
//lista os arquivos xml na pasta string path = @"c:\temp\"; foreach(string arquivoPath in System.IO.Directory.EnumerateFiles(path,"*.xml",System.IO.SearchOption.TopDirectoryOnly)) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(arquivoPath); }
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Ricardo RussoModerator quinta-feira, 27 de dezembro de 2012 13:00
-
Junior,
A classe XmlDataDocument em especifico o método Load() não suporta múltiplos arquivos XML, ou seja, tem que carregar um por vez:
string[] caminhoArquivos = System.IO.Directory.GetFiles(Server.MapPath("/arquivos/copiados/"), "*.xml"); foreach (var caminho in caminhoArquivos) { XmlDataDocument docxml = new XmlDataDocument(); docxml.Load(caminho);
//Seu código...
}
A classe esta obsoleta segunda a documentação da mesma, existe recomendação para utilizar a classe XmlDocument:
http://msdn.microsoft.com/pt-br/library/system.xml.xmldatadocument.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Ricardo RussoModerator quinta-feira, 27 de dezembro de 2012 13:00