none
Pegando um nó especifico do Xml RRS feed

  • Pergunta

  • Olá a todos, Sou novo aqui no forum e gostaria uma pequena ajuda de vocês.

    É o seguinte eu tenho um arquivo XMl desse tipo:

    <?xml version="1.0" encoding="utf-8"?>
    <Calculo>
    <TipoCalculo>1</TipoCalculo>
    <Produto>16</Produto>
    <Modalidade>1</Modalidade>
    <PrazoVigencia>6</PrazoVigencia>
    <InicioVigencia>2011-05-12</InicioVigencia>
    <TerminoVigencia>2014-05-12</TerminoVigencia>
    <NumeroMeses>36</NumeroMeses>
    <TipoPessoa>1</TipoPessoa>
    <FormaPagamento>1</FormaPagamento>
    <PagamentoAntecipado>true</PagamentoAntecipado>
    <OrigemCalculo>400</OrigemCalculo>
    <AntiFurtoAutomatico>true</AntiFurtoAutomatico>
    <CodigoAgente>40062</CodigoAgente>
    <cdAgente>40062</cdAgente>
    <Itens>
      <Item>
        <NumeroItem>1</NumeroItem>
        <MarcaVeiculo>021</MarcaVeiculo>
        <ModeloVeiculo>908</ModeloVeiculo>
        <VersaoVeiculo>008</VersaoVeiculo>
        <CodigoVeiculoMolicar>04002526-3</CodigoVeiculoMolicar>
        <AnoFabricacao>2011</AnoFabricacao>
        <AnoModelo>2011</AnoModelo>
        <ZeroKm>true</ZeroKm>
        <vlNotaFiscal>40000,00</vlNotaFiscal>
        <Combustivel>5</Combustivel>
        <Utilizacao>1</Utilizacao>
        <CepPernoite>07183</CepPernoite>
        <TipoRenovacao>0</TipoRenovacao>
        <TipoCobertura>1</TipoCobertura>
        <Regiao>11</Regiao>
        <Coberturas>
          <Cobertura>
            <Ramo>31</Ramo>
            <Codigo>1</Codigo>
            <TipoIS>1</TipoIS>
            <FatorAjuste>1,00</FatorAjuste>
            <IS>40000,00</IS>
            <TipoFranquia>1</TipoFranquia>
            <CodigoClasseBonus>0</CodigoClasseBonus>
            <ClasseBonus>0,00</ClasseBonus>
            <FatorTecnico>-13,00</FatorTecnico>
          </Cobertura>
          <Cobertura>
            <Ramo>53</Ramo>
            <Codigo>1</Codigo>
            <TipoIS>1</TipoIS>
            <NivelIS>13</NivelIS>
            <CodigoClasseBonus>0</CodigoClasseBonus>
            <ClasseBonus>0,00</ClasseBonus>
            <FatorTecnico>-13,00</FatorTecnico>
          </Cobertura>
          <Cobertura>
            <Ramo>53</Ramo>
            <Codigo>2</Codigo>
            <TipoIS>1</TipoIS>
            <NivelIS>13</NivelIS>
            <CodigoClasseBonus>0</CodigoClasseBonus>
            <ClasseBonus>0,00</ClasseBonus>
            <FatorTecnico>-13,00</FatorTecnico>
          </Cobertura>
          <Cobertura>
            <Ramo>81</Ramo>
            <Codigo>1</Codigo>
            <TipoIS>1</TipoIS>
            <IS>4800,00</IS>
            <CodigoClasseBonus>0</CodigoClasseBonus>
            <ClasseBonus>0,00</ClasseBonus>
            <FatorTecnico>-13,00</FatorTecnico>
          </Cobertura>
          <Cobertura>
            <Ramo>81</Ramo>
            <Codigo>2</Codigo>
            <TipoIS>1</TipoIS>
            <IS>6520,00</IS>
            <CodigoClasseBonus>0</CodigoClasseBonus>
            <ClasseBonus>0,00</ClasseBonus>
            <FatorTecnico>-13,00</FatorTecnico>
          </Cobertura>
        </Coberturas>
        <Clausulas>
          <Clausula>055</Clausula>
          <Clausula>44N</Clausula>
          <Clausula>46L</Clausula>
        </Clausulas>
        <Perfil>
          <TipoPerfil>1</TipoPerfil>
          <TipoUsuario>1</TipoUsuario>
          <SexoUsuario>2</SexoUsuario>
          <DataNascimento>1960-11-11</DataNascimento>
        </Perfil>
        <Perfil>
          <TipoPerfil>2</TipoPerfil>
          <TipoUsuario>1</TipoUsuario>
          <SexoUsuario>2</SexoUsuario>
          <DataNascimento>1960-11-11</DataNascimento>
        </Perfil>
        <Perfil>
          <TipoPerfil>3</TipoPerfil>
          <TipoUsuario>6</TipoUsuario>
          <SexoUsuario>2</SexoUsuario>
          <DataNascimento>1986-03-11</DataNascimento>
          <Questionario>
            <ItemQuestao>
              <Questao>13</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>15</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>5</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>8</Questao>
              <Resposta>4</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>9</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>12</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>10</Questao>
              <Resposta>1</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>11</Questao>
              <Resposta>3</Resposta>
            </ItemQuestao>
            <ItemQuestao>
              <Questao>6</Questao>
              <Resposta>2</Resposta>
            </ItemQuestao>
          </Questionario>
        </Perfil>
      </Item>
    </Itens>
    </Calculo>

     

    Existem outros nós no arquivo, mas para não deixar a pergunta muito grande eu os retirei.

    Fiz um windows form com um botão com esse codigo:

    openFileDialog1.Filter = "xml|*.xml|all files|*.*";
                DataSet ds = new DataSet();
                var res = openFileDialog1.ShowDialog();
                var caminho = openFileDialog1.FileName;
                ds.ReadXml(caminho);
                //caregando o xml nas gridViews
                dtgTabela.DataSource = ds.Tables[0];
                dtgTabela2.DataSource = ds.Tables[2];
                dgtTabela3.DataSource = ds.Tables[4];

    cada nó esta sendo carregado em uma gridView diferente. Inicialmente ficou feio, mas eu ajeitei dessa forma:

    private void Tag1_Click(object sender, EventArgs e)
            {
                dtgTabela2.Visible = true;
                dtgTabela.Visible = false;
                dgtTabela3.Visible = false;

            }

    criei um botão para cada nó. Quando esse botão é pressionado ele esconte as outras grids e mostra somente a que eu quero.

     

    O que eu queria é o seguinte: Quando abrisse esse arquivo Xml, fosse carregado em algum componete (um list box ou combo box por exemplo) os nós desse arquivo. Ao clicar em algum dos nós ele carregaria na gridView os itens do nó.

    Alguém sabe como eu posso fazer isso?

     


    We may be human, but we're still animals
    quarta-feira, 18 de maio de 2011 15:56

Respostas

Todas as Respostas