Каково различие между элементом и узлом в XML?

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

353
задан hippietrail 11 December 2012 в 18:58
поделиться

9 ответов

Объект узла является основным типом данных для всего DOM.

узел А может быть узлом элемента, узлом атрибута, текстовым узлом или любыми другими из типов узлов, объясненных в главе "Типов узлов".

элемент XML - все от (включения) тега запуска элемента к (включению) конечного тэга элемента.

249
ответ дан Benoit 23 November 2019 в 00:23
поделиться

Различные спецификации W3C определяют различные наборы типов "Узла".

Таким образом, спецификация DOM определяет следующие типы узлов:

  • Document - Element (максимум одного), ProcessingInstruction, Comment, DocumentType
  • DocumentFragment - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • DocumentType - никаких детей
  • EntityReference - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • Element - Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference
  • Attr - Text, EntityReference
  • ProcessingInstruction - никаких детей
  • Comment - никаких детей
  • Text - никаких детей
  • CDATASection - никаких детей
  • Entity - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • Notation - никакие дети

Инфонабор XML (используемый XPath) имеет меньший набор узлов:

  • Единица информации Документа
  • Объекты Информации об элементе
  • Единицы информации атрибута
  • Единицы информации Инструкции по Обработке
  • Нерасширенные Единицы информации Ссылки на сущность
  • Символьные Единицы информации
  • Единицы информации Комментария
  • Единица информации Объявления Типа документа
  • Непроанализированные Единицы информации Объекта
  • Единицы информации Нотации
  • Единицы информации Пространства имен
  • XPath имеет следующие Типы узлов:

    • корневые узлы
    • узлы элемента
    • текстовые узлы
    • узлы атрибута
    • узлы пространства имен
    • узлы инструкции по обработке
    • узлы комментария

    ответ на Ваш вопрос ", Что является различием между элементом и узлом ":

    An element is a type of node. Many other types of nodes exist and serve different purposes.

    67
    ответ дан Bobby 23 November 2019 в 00:23
    поделиться

    Узел является частью дерева DOM, Элемент является конкретным типом Узла

    , например, <foo> This is Text </foo>

    у Вас есть Элемент нечто, (который является также Узлом, поскольку Элемент наследовался Узлу), и текстовый Узел, 'Это - текст', который является ребенком Элемента/Узла нечто

    28
    ответ дан mmaibaum 23 November 2019 в 00:23
    поделиться

    Узел может быть многими различными видами вещей: некоторый текст, комментарий, элемент, объект, и т.д. Элемент является конкретным видом узла.

    27
    ответ дан Greg Hewgill 23 November 2019 в 00:23
    поделиться

    Как описано в различном XML спецификации , element то, что, который состоит из тега запуска, и конечного тэга и промежуточного содержания, или поочередно пустой тег элементов (который не имеет никакого содержания или конечного тэга). Другими словами, это все элементы:

    <foo> stuff </foo>
    <foo bar="baz"></foo>
    <foo baz="qux" />
    

    , Хотя Вы слышите "узел", используемый примерно с тем же значением, он не имеет никакого точного определения на спецификации XML. Это обычно используется для обращения к узлам вещей как DOMS, который может быть тесно связан с XML или использовать XML для их представления.

    15
    ответ дан fenomas 23 November 2019 в 00:23
    поделиться

    Узел является базовым классом и для элементов и для атрибутов (и в основном все другие представления XML также).

    9
    ответ дан Troels Thomsen 23 November 2019 в 00:23
    поделиться

    Элемент является единственным видом узел , который может иметь дочерние узлы и атрибуты.

    Документ также имеет дочерние узлы, НО
    никакие атрибуты, никакой текст, точно один дочерний элемент.

    7
    ответ дан eugensk 23 November 2019 в 00:23
    поделиться

    Элемент является типом узла, как атрибуты, текст и т.д.

    0
    ответ дан Simon Keep 23 November 2019 в 00:23
    поделиться

    Теперь я знаю, что элемент является одним из узлов

    Все типы узлов здесь"http://www.w3schools.com/dom/dom_nodetype.asp"

    Элемент находится между начальным тегом и конечным в конечном теге

    Таким образом, текстовый узел является узлом, но не элементом.

    1
    ответ дан 23 November 2019 в 00:23
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: