• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

got_r00t?

Max ID em XML

5 mensagens neste tópico

Problema inicial :

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Table>
  <Accounts>
    <Account ID="1">
      <Login></Login>
      <Password></Password>
    </Account>
    <Account ID="2">
      <Login></Login>
      <Password></Password>
    </Account>
    <Account ID="3">
      <Login></Login>
      <Password></Password>
    </Account>
  </Accounts>
</Table>

Obter o maior ID:

        Dim max_id As Integer = 0
        doc = XDocument.Load(appPath + "\acc.xml")
        For Each node As XAttribute In doc.Descendants.Attributes("ID")
            If max_id < node.Value Then
                max_id = node.Value
            End If
        Next
        MsgBox("Max ID = " & max_id)

Acabai por modificar de XAttribute para XElement ficando assim:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Table>
  <Accounts>
    <Account>
      <ID>1</ID>
      <Login></Login>
      <Password></Password>
    </Account>
    <Account>
      <ID>2</ID>
      <Login></Login>
      <Password></Password>
    </Account>
    <Account>
      <ID>3</ID>
      <Login></Login>
      <Password></Password>
    </Account>
  </Accounts>
</Table>

Obter o maior ID:

        Dim max_id As Integer = 0
        doc = XDocument.Load(appPath + "\acc.xml")
        For Each node As XElement In doc.Descendants.Elements("Account")
            If max_id < node.<ID>.Value Then
                max_id = node.<ID>.Value
            End If
        Next
        MsgBox("Max ID : " & max_id)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para a próxima podias deixar o problema na mesma e a sua resolução (ainda estás a tempo), irá ajudar quem no futuro tivesse o mesmo problema que tu.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@got_r00t?,

Concordo a 100% com o Weasel ... isso aqui não se faz, ok ? Não é só vir ao fórum para pedir ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Peço desculpa, fica então aqui o problema e a solução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

System.IO.TextReader tr = new System.IO.StringReader(@"                
                <Table>
                  <Accounts>
                    <Account>
                      <ID>1</ID>
                      <Login></Login>
                      <Password></Password>
                    </Account>
                    <Account>
                      <ID>2</ID>
                      <Login></Login>
                      <Password></Password>
                    </Account>
                    <Account>
                      <ID>3</ID>
                      <Login></Login>
                      <Password></Password>
                    </Account>
                  </Accounts>
                </Table>
            ");

XDocument xDoc = XDocument.Load(tr);
var qs = from c in xDoc.Descendants("ID")  select Convert.ToInt32((string)c.Value);
int maximo = qs.Max();

framework 3.5

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora