XML DOM - Modello

Ora che sappiamo cosa significa DOM, vediamo cos'è una struttura DOM. Un documento DOM è una raccolta di nodi o pezzi di informazioni, organizzati in una gerarchia. Alcuni tipi di nodi possono avere nodi figli di vario tipo e altri sono nodi foglia che non possono avere nulla sotto di essi nella struttura del documento. Di seguito è riportato un elenco dei tipi di nodo, con un elenco dei tipi di nodo che possono avere come figli:

  • Document - Elemento (massimo uno), ProcessingInstruction, Commento, DocumentType (massimo uno)

  • DocumentFragment - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

  • EntityReference - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

  • Element - Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference

  • Attr - Testo, EntityReference

  • ProcessingInstruction - Niente bambini

  • Comment - Niente bambini

  • Text - Niente bambini

  • CDATASection - Niente bambini

  • Entity - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

  • Notation - Niente bambini

Esempio

Considera la rappresentazione DOM del seguente documento XML node.xml.

<?xml version = "1.0"?>
<Company>
   <Employee category = "technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
   </Employee>
   
   <Employee category = "non-technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
   </Employee>
</Company>

Il Document Object Model del documento XML di cui sopra sarebbe il seguente:

Dal diagramma di flusso sopra, possiamo dedurre:

  • L' oggetto nodo può avere un solo oggetto nodo padre . Questo occupa la posizione sopra tutti i nodi. Ecco Company .

  • Il nodo padre può avere più nodi chiamati nodi figlio . Questi nodi figlio possono avere nodi aggiuntivi chiamati nodi di attributo . Nell'esempio precedente, abbiamo due nodi di attributo Tecnico e Non tecnico . Il nodo dell'attributo non è effettivamente un figlio del nodo dell'elemento, ma è ancora associato ad esso.

  • Questi nodi figlio a loro volta possono avere più nodi figlio. Il testo all'interno dei nodi è chiamato nodo di testo .

  • Gli oggetti nodo allo stesso livello vengono chiamati come fratelli.

  • Il DOM identifica:

    • gli oggetti per rappresentare l'interfaccia e manipolare il documento.

    • la relazione tra gli oggetti e le interfacce.