Estou trabalhando em Java com XML e estou pensando; qual é a diferença entre um elemento e um nó?
Estou trabalhando em Java com XML e estou pensando; qual é a diferença entre um elemento e um nó?
Respostas:
O objeto Node é o tipo de dados principal para todo o DOM.
Um nó pode ser um nó de elemento, um nó de atributo, um nó de texto ou qualquer outro tipo de nó explicado no capítulo "Tipos de nós".
Um elemento XML é tudo, desde (incluindo) a marca inicial do elemento até (incluindo) a marca final do elemento.
Diferentes especificações do W3C definem conjuntos diferentes de tipos de "Nó".
Portanto, a especificação DOM define os seguintes tipos de nós:
Document
- Element
(máximo de um), ProcessingInstruction
,
Comment
,DocumentType
DocumentFragment
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
DocumentType
- sem filhos
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
- sem filhos
Comment
- sem filhos
Text
- sem filhos
CDATASection
- sem filhos
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
- sem filhos O XML Infoset (usado pelo XPath) possui um conjunto menor de nós:
XPath possui os seguintes tipos de nós:
A resposta para sua pergunta " Qual é a diferença entre um elemento e um nó " é:
An element is a type of node. Many other types of nodes exist and serve different purposes.
Um Nó faz parte da árvore DOM, um Elemento é um tipo específico de Nó
por exemplo
<foo> This is Text </foo>
Você tem um elemento foo (que também é um nó, como o elemento herda do nó) e um nó de texto 'This is Text', que é filho do elemento / nó foo
Um nó pode ser um número de diferentes tipos de coisas: algum texto, um comentário, um elemento, uma entidade etc. Um elemento é um tipo específico de nó.
Conforme descrito nas várias especificações XML , um element
é aquele que consiste em uma tag inicial e final e o conteúdo intermediário, ou alternativamente, em um elemento vazio (que não possui conteúdo ou final). Em outras palavras, estes são todos os elementos:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
Embora você ouça "nó" usado com aproximadamente o mesmo significado, ele não possui uma definição precisa por especificações XML. Geralmente é usado para se referir a nós, como DOMs, que podem estar intimamente relacionados ao XML ou usar XML para sua representação.
Um documento xml é feito de elementos aninhados. Um elemento começa na tag de abertura e termina na tag de fechamento . Você provavelmente está visto <body>
e </body>
em html. Tudo entre as tags de abertura e fechamento é o conteúdo do elemento . Se um elemento for definido por uma tag de fechamento automático (por exemplo <br/>
), seu conteúdo estará vazio.
As tags de abertura também podem especificar atributos , por exemplo. <p class="rant">
. Neste exemplo, o nome do atributo é 'class' e seu valor 'rant'.
A linguagem XML não possui um 'nó' . Leia as especificações , a palavra não ocorre.
Algumas pessoas usam a palavra 'nó' informalmente para significar elemento, o que é confuso porque alguns analisadores também atribuem à palavra um significado técnico (identificando 'nós de texto' e 'nós de elemento'). O significado exato depende do analisador; portanto, a palavra está mal definida, a menos que você indique qual analisador está usando. Se você quer dizer elemento, diga 'elemento' .
Um nó é a classe base para elementos e atributos (e basicamente para todas as outras representações XML também).
Um nó é definido como:
a menor unidade de uma estrutura completa válida em um documento.
ou como:
Um objeto na visualização em árvore que serve como um contêiner para armazenar objetos relacionados.
Agora, existem muitos tipos diferentes de nós como um nó de elementos, um nó de atributo etc.
Agora eu sei, o elemento é um dos nós
Todos os tipos de nós aqui " http://www.w3schools.com/dom/dom_nodetype.asp "
O elemento está entre a tag inicial e o final na tag final
Portanto, o nó de texto é um nó, mas não um elemento.
Um elemento é um tipo de nó, assim como atributos, texto etc.
Elemento XML é um nó XML, mas com elementos adicionais, como atributos.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
nó e elemento são os mesmos. Todo elemento é um nó, mas não é que todo nó deva ser um elemento.