Sto lavorando in Java con XML e mi chiedo; qual è la differenza tra un elemento e un nodo?
Sto lavorando in Java con XML e mi chiedo; qual è la differenza tra un elemento e un nodo?
Risposte:
L'oggetto Node è il tipo di dati primario per l'intero DOM.
Un nodo può essere un nodo elemento, un nodo attributo, un nodo di testo o qualsiasi altro tipo di nodo spiegato nel capitolo "Tipi di nodo".
Un elemento XML è tutto da (incluso) il tag iniziale dell'elemento a (compreso) il tag finale dell'elemento.
Diverse specifiche del W3C definiscono diversi insiemi di tipi "Nodo".
Pertanto, le specifiche DOM definiscono i seguenti tipi di nodi:
Document
- Element
(massimo uno), ProcessingInstruction
,
Comment
,DocumentType
DocumentFragment
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
DocumentType
-- niente bambini
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
-- niente bambini
Comment
-- niente bambini
Text
-- niente bambini
CDATASection
-- niente bambini
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
-- niente bambini L' XML Infoset (usato da XPath) ha un insieme ridotto di nodi:
XPath ha i seguenti tipi di nodo:
La risposta alla tua domanda " Qual è la differenza tra un elemento e un nodo " è:
An element is a type of node. Many other types of nodes exist and serve different purposes.
Un nodo fa parte della struttura DOM, un elemento è un tipo particolare di nodo
per esempio
<foo> This is Text </foo>
Hai un elemento foo, (che è anche un nodo, come elemento eredita dal nodo) e un nodo di testo "Questo è testo", che è un figlio dell'elemento / nodo foo
Un nodo può essere un numero di diversi tipi di cose: un testo, un commento, un elemento, un'entità, ecc. Un elemento è un particolare tipo di nodo.
Come descritto nelle varie specifiche XML , un element
è quello che consiste in un tag iniziale e in un tag finale e il contenuto tra o in alternativa un tag elemento vuoto (che non ha contenuto o tag finale). In altre parole, questi sono tutti elementi:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
Sebbene tu senta "nodo" usato approssimativamente con lo stesso significato, non ha una definizione precisa per le specifiche XML. Di solito viene utilizzato per fare riferimento a nodi di cose come DOM, che possono essere strettamente correlati a XML o utilizzare XML per la loro rappresentazione.
Un documento xml è composto da elementi nidificati. Un elemento inizia nel suo tag di apertura e termina nel suo tag di chiusura . Probabilmente sei visto <body>
e </body>
in html. Tutto tra i tag di apertura e chiusura è il contenuto dell'elemento . Se un elemento è definito da un tag a chiusura automatica (ad es. <br/>
), Il suo contenuto è vuoto.
I tag di apertura possono anche specificare attributi , ad es. <p class="rant">
. In questo esempio il nome dell'attributo è 'class' e il suo valore 'rant'.
Il linguaggio XML non ha un "nodo" . Leggi le specifiche , la parola non compare.
Alcune persone usano la parola "nodo" in modo informale per indicare l'elemento, il che è confuso perché alcuni parser danno anche alla parola un significato tecnico (identificando "nodi di testo" e "nodi di elementi"). Il significato esatto dipende dal parser, quindi la parola è mal definita a meno che non si dichiari quale parser si sta utilizzando. Se intendi elemento, pronuncia "elemento" .
Un nodo è la classe di base sia per gli elementi che per gli attributi (e sostanzialmente anche per tutte le altre rappresentazioni XML).
Un nodo è definito come:
la più piccola unità di una struttura valida e completa in un documento.
o come:
Un oggetto nella vista ad albero che funge da contenitore per contenere oggetti correlati.
Ora ci sono molti diversi tipi di nodi come nodo elementi, nodo attributo ecc.
Ora lo so, l'elemento è uno di nodo
Tutti i tipi di nodo qui " http://www.w3schools.com/dom/dom_nodetype.asp "
L'elemento si trova tra il tag di inizio e la fine nel tag di fine
Quindi il nodo di testo è un nodo, ma non un elemento.
Un elemento è un tipo di nodo come lo sono attributi, testo ecc.
XML Element è un nodo XML ma con elementi aggiuntivi come gli attributi.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
nodo ed elemento sono uguali. Ogni elemento è un nodo, ma non è che ogni nodo debba essere un elemento.