Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema que não consegui identificar o que ocorre, quando utilizo o código abaixo especificando o arquivo a ser lido "ARQUIVO.xml" o programa executa a função normalmente ou seja lê todas as tags repetidas de um mesmo arquivo.
private void MetodoDetalhes()
{
var nfeNamespace = "http://www.portalfiscal.inf.br/nfe";
var namespaceManager = new XmlNamespaceManager(new NameTable());
namespaceManager.AddNamespace("x", nfeNamespace);
var xml = XDocument.Load("ARQUIVO.xml");//ESPECIFICO O ARQUIVO A SER LIDO.
var xmlProdutos = xml.XPathSelectElements("//x:prod", namespaceManager);
var agrupado---ome = xmlProdutos.GroupBy(p => p.Element(XName.Get("xProd", nfeNamespace)).Value);
var produtos =
agrupado---ome.Select(g =>
new Produto
{
Nome = g.Key,
ValorTotal = g.Sum(e => Convert.ToDecimal(e.Element(XName.Get("vProd", nfeNamespace)).Value))
});
Quando mudo meu código da forma abaixo para ele pegar todos os arquivos do diretório "txtEntradaDetalhes.Text", ele não executa a função de ler as tags repetidas, lendo somente a primeira.
private void MetodoDetalhes()
{
foreach (string fileSystem in System.IO.Directory.GetFiles(txtEntradaDetalhes.Text, "*.xml", System.IO.SearchOption.AllDirectories))//PARTE ALTERADA
{
System.IO.FileInfo fi = new System.IO.FileInfo(fileSystem);//PARTE ALTERADA
var nfeNamespace = "http://www.portalfiscal.inf.br/nfe";
var namespaceManager = new XmlNamespaceManager(new NameTable());
namespaceManager.AddNamespace("x", nfeNamespace);
var xml = XDocument.Load(fi.FullName);//PARTE ALTERADA
var xmlProdutos = xml.XPathSelectElements("//x:prod", namespaceManager);
var agrupado---ome = xmlProdutos.GroupBy(p => p.Element(XName.Get("xProd", nfeNamespace)).Value);
var produtos =
agrupado---ome.Select(g =>
new Produto
{
Nome = g.Key,
ValorTotal = g.Sum(e => Convert.ToDecimal(e.Element(XName.Get("vProd", nfeNamespace)).Value))
});
O que será que esta errado em meu código que não consigo executar corretamente a função pegando os arquivos do caminho especificado ?
Agradeço desde já.
Th3W4rl0ck
Carregando comentários...