English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Librerie Componenti
  • XML Node
  • Gestione Attributi

Get Attribute

funzione copia link

Scopo

Ritorna il valore di un attributo del nodo corrente cercandolo per nome. Se ad esempio il file XML contiene il nodo <Fattura ID="001">...</Fattura>, allora chiamando la funzione GetAttribute("ID") sul nodo Fattura si ottiene 001.

Sintassi

string valore := XMLNode.GetAttribute(nome attributo, Namespace)

Argomenti

Nome Attributo È una stringa rappresentante il nome dell'attributo dell'oggetto XMLNode di cui si vuole ottenere il valore.
Namespace E' una stringa opzionale che rappresenta il namespace del nodo XML di cui si vuole ottenere il valore (parametro introdotto nella versione 19.5).

Valore di ritorno

Ritorna una stringa contenente il valore dell'attributo dell'oggetto XMLNode.

Esempio di codice

// *********************************************************
// Explain which processing is carried out by this procedure
// *********************************************************

public void XMLDocument.Importa0(
  XMLNode Sorgente // Nodo XML da cui leggere
  MyXMLItem Padre  // INDE Item in cui inserire i figli
)
{
  // Finché trovo degli oggetti contenuti nella sorgente aggiungo figli
  // all'oggetto padre

  while Sorgente.HasNextNode()
  {
    MyXMLItem NuovoOggetto = new() // 
    XMLNode Nodo = null            // 
    // 
    Nodo := Sorgente.GetNextNode()
    // 
    // Scrivo nel debug il codice XML che sto leggendo

    EsempiGL.DTTLogMessage(Nodo.ToString(), ??, ??)
    // 
    // Se sto leggendo un oggetto di tipo item

    if Nodo.Name() = item AND Nodo.IsElement()
    {
      NuovoOggetto.Nome := Nodo.GetAttribute(Nome)
      NuovoOggetto.Descrizione := Nodo.GetAttribute(Descrizione)
      Padre.ItemsFigli.Add(NuovoOggetto)
    }
    // 
    // Se è un nodo di tipo commento lo scrivo nel debug

    if Nodo.Type() = XML Comment Type
    {
      EsempiGL.DTTLogMessage(Nodo.Value(), ??, ??)
    }
    // 
    // Se il sorgente è di tipo text scrivo nel debug il testo contenuto

    if Nodo.IsText()
    {
      EsempiGL.DTTLogMessage(Nodo.Value(), ??, ??)
    }
    // 
    if Nodo.HasNextNode()
    {
      this.Importa0(Nodo, NuovoOggetto)
    }
  }
  Padre.Loaded := True
  Padre.ItemsFigli.Loaded := True
}
  • Se l'oggetto XMLNode non possiede un attributo con il nome indicato viene ritornata una stringa vuota.
  • Se si specifica il Namespace nel Nome va omesso il prefisso.

Ultima modifica: 24/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • Set Attribute (procedura)
  • Has Next Attribute (funzione)
  • Get Next Attribute (procedura)
  • XML Node

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum