Forum Pplware

Versão Completa: Ajuda XML em Grid
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Bom dia,

Sou novo no forúm, preciso ed ajuda para carregar em uma gridview um XML, mas não totalmente apenas alguns campos selecionados, o xml está vindo de um webservice.

Grt
(10-05-2012 14:35)eduardosuzart Escreveu: [ -> ]Bom dia,

Sou novo no forúm, preciso ed ajuda para carregar em uma gridview um XML, mas não totalmente apenas alguns campos selecionados, o xml está vindo de um webservice.

Grt

podes ser um pouco mais especifico? tipo... linguagem...

obrigado
(11-05-2012 13:12)karkov Escreveu: [ -> ]
(10-05-2012 14:35)eduardosuzart Escreveu: [ -> ]Bom dia,

Sou novo no forúm, preciso ed ajuda para carregar em uma gridview um XML, mas não totalmente apenas alguns campos selecionados, o xml está vindo de um webservice.

Grt

podes ser um pouco mais especifico? tipo... linguagem...

obrigado

LOL Convinha...
Desculpa, C# aplicação desktop, preciso consultar um NFe no Sefaz Salvador e carregar este xml de retorno em uma gridview.
Não percebi muito bem o que precisas de consultar.... podes explicar melhor?
mas basicamente tendo um ficheiro xml assim:
Código:
<carta>
  <para>XPTO</para>
  <de>ALPHA</de>
  <titulo>BLA BLA BLA</titulo>
  <texto>AHHHH E TAL!</texto>
</carta>

podes criar um "private DataSet XMLDATA(string ficheiro)" que recebe uma string (caminho do ficheiro).
dentro desse "XMLDATA" tens um "Dataset valores" que recebe os dados de um "FileStream" e retorna "valores".

Despois ao clicares num botão tens um dataset que recebe os dados do "XMLDATA" e igualas o datasource a este dataset que recebeu os dados.

RESULTADO
[Imagem: 11834972_teste.gif]


cumps.
Karkov, bom dia.

Agradeço a sua ajuda, deixa eu explicar, preciso consultar uma DANFE e lê os campos e os nós, para carregar na gridview apenas algumas informações que vem na danfe tipo n° da NF, CNPJ e nome do cliente ex:

<LoteRps id="11111">
<NumeroLote>11111</NumeroLote>
<Cnpj>111111111</Cnpj>
<InscricaoMunicipal>00011111</InscricaoMunicipal>
<QuantidadeRps>8</QuantidadeRps>
<ListaRps>
<Rps>
<InfRps id="11111">
<IdentificacaoRps>
<Numero>11111</Numero>
<Serie>1</Serie>
<Tipo>1</Tipo>
</IdentificacaoRps>
<DataEmissao>2012-04-23T09:23:12</DataEmissao>
<NaturezaOperacao>1</NaturezaOperacao>
<OptanteSimplesNacional>2</OptanteSimplesNacional>
<IncentivadorCultural>2</IncentivadorCultural>
<Status>1</Status>
<Servico>
<Valores>
<ValorServicos>1937.34</ValorServicos>
<IssRetido>1</IssRetido>
<ValorIss>96.87</ValorIss>
<ValorIssRetido>96.87</ValorIssRetido>
<BaseCalculo>1937.34</BaseCalculo>
<Aliquota>0.05</Aliquota>
</Valores>
<ItemListaServico>1.07</ItemListaServico>
<Discriminacao>Descricao do Serviço
</Discriminacao>
<CodigoMunicipio>11111111</CodigoMunicipio>
</Servico>
<Prestador>
<Cnpj>11111111111</Cnpj>
<InscricaoMunicipal>0001111</InscricaoMunicipal>
</Prestador>
<Tomador>
<IdentificacaoTomador>
<CpfCnpj>
<Cnpj>111111111111</Cnpj>
</CpfCnpj>
</IdentificacaoTomador>
<RazaoSocial>BAHIA</RazaoSocial>
<Endereco>
<Endereco>AVENIDA 300</Endereco>
<Numero>S/N</Numero>
<Bairro>SALVADOR</Bairro>
<CodigoMunicipio>11111</CodigoMunicipio>
<Uf>BA</Uf>
<Cep>40000000</Cep>
</Endereco>
<Contato>
<Email>jeronimo@teste.com</Email>
</Contato>
</Tomador>
</InfRps>

neste exemplo eu preciso lê os nós, CNPJ, Valor Serviço, cnpj Tomador e data, para colocar na gridview. se puder me ajudar eu agradeço
Karkov, estou usando seguinte código:

" private void btnXML_Click(object sender, EventArgs e)
{
try
{

XNamespace name = "http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd";
XElement root = XElement.Load(@"C:\NFSeProdeb\servico_consultar_nfse_resposta.xml");//(Server.MapPath());

var query = from xml in root.Elements("/ConsultaNfseResposta//ListaNfse//CompNfse//Nfse//InfNfse")
select new
{
_numero = (string)xml.Element("Numero"),
_valor = (string)xml.Element("Servico\\Valores"),
_cnpj = (string)xml.Element("TomadorServico\\IdentificacaoTomador\\CpfCnpj\\Cnpj"),
_nome = (string)xml.Element("TomadorServico\\RazaoSocial")

};

foreach (var xml in query)
{
string Snome = xml._nome;
string Svalor = xml._valor;
string Scnpj = xml._cnpj;
string Snumero = xml._numero;

Console.WriteLine("Número " + Snumero);
Console.WriteLine("Nome " + Snome);
Console.WriteLine("CNPJ " + Scnpj);
Console.WriteLine("Valor " + Svalor);
}
}
catch (Exception)
{
Console.WriteLine("Não foi possivel achar o caminho");
}
finally
{

Console.WriteLine("Final");
}

}
", só que não consigo lê os nós
Karkov,
COnsegui lê os nós só quue agora ele lê todo componeten que está no nò, veja:
XmlTextReader reader = new XmlTextReader(@"C:\NFSeTeste\servico_consultar_nfse_resposta.xml");
XNamespace name = "http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd";
XmlNodeType type;

while (reader.Read())
{
type = reader.NodeType;
if (type == XmlNodeType.Element)
{
if (reader.Name == "Nfse")
{
reader.Read();
textBox1.Text = reader.Value;
}

if (reader.Name == "Numero")
{
reader.Read();
listBox1.Items.Add(reader.Value);
//textBox1.Items.Add(reader.Value);
}
if (reader.Name == "Servico")
{
reader.Read();
textBox1.Text = reader.Value;
}
if (reader.Name == "ValorServicos")
{
reader.Read();
listBox1.Items.Add(reader.Value);
//textBox1.Items.Add(reader.Value);
}
if (reader.Name == "Cnpj")
{
reader.Read();
listBox1.Items.Add(reader.Value);
//textBox1.Items.Add(reader.Value);
}
if (reader.Name == "RazaoSocial")
{
reader.Read();
listBox1.Items.Add(reader.Value);
//textBox1.Items.Add(reader.Value);
}
}
}
URL's de Referência