Узлы XML DOM
- Предыдущая страница Введение в DOM
- Следующая страница Доступ к узлам DOM
Согласно XML DOM, все содержимое документа XML являетсяУзел:
- Вся документация является документом узла
- Каждый элемент XML является элементом узла
- Текст в элементе XML является текстовым узлом
- Каждый атрибут является атрибутом узла
- Комментарии являются комментарием узла
Пример DOM
Пожалуйста, посмотрите以下的 XML файл (books.xml):
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787539962771</ISBN> </book> <book category="children"> <title lang="zh">Великолепный папа-лис</title> <author>Рольф Дал</author> <translator>Дай Вей</translator> <press>Томorrow Publishing House</press> <year>2009</year> <price>10</price> <ISBN>9787533259563</ISBN> </book> <book category="литература"> <title lang="zh">Преобразование знакомого в незнакомое</title> <author>Зигмунд Бауман</author> <author>Петер Хаффнер</author> <translator>Ван Личжоу</translator> <press>Нanjингский университетский издательский дом</press> <year>2023</year> <price>68</price> <ISBN>9787305269387</ISBN> </book> <book category="наука"> <title lang="zh">Ты хочешь летать, как птица?</title> <author>Ричард Докинз</author> <author>Яна Ренцова</author> <translator>Гао Тяньyu</translator> <press>Хунаньская научная и техническая издательская компания</press> <year>2023</year> <price>88</price> <ISBN>9787571019075</ISBN> </book> <book category="политика" cover="твердый переплет"> <title lang="zh">О демократии в США</title> <author>Токвиль</author> <translator>Дун Гуолиан</translator> <press>Бизнес-издательство</press> <year>1989</year> <price>60</price> <ISBN>9787100124553</ISBN> </book> </bookstore>
В указанном выше XML корневым узлом является <bookstore>.
Все другие узлы документа включены в <bookstore>.
Корневой узел <bookstore> имеет 5 узлов <book>.
Первый <book> узел содержит 6 подузлов: <title>, <author>, <press>, <year>, <price> и <ISBN>.
Каждый подузел содержит текстовый узел:
- "雅舍谈吃"
- "梁实秋"
- "江苏文艺出版社"
- "2012"
- "48.00"
- "9787100011105"
Текст всегда хранится в текстовом узле
Одна из распространенных ошибок обработки DOM заключается в том, что элемент содержит текст.
Однако текст элемента хранится в текстовом узле.
В этом примере:<year>2013</year>
, узел элемента <year> содержит текстовый узел с значением "2012".
"2012" Нет ! Значение элемента <year>
Дерево узлов XML DOM
XML DOM рассматривает документ XML как структуру дерева. Эта структура дерева называетсяДерево узлов.
Все узлы можно получить через это дерево. Их содержимое можно изменить или удалить, а также можно создать новые элементы.
Это дерево узлов показывает набор узлов и их взаимосвязи. Это дерево начинается с корневого узла и затем растет ветвями к текстовым узлам на нижних уровнях дерева:

На следующем рисунке показан файл XML books.xml.
Родительские, подузловые и братские узлы
Узлы в дереве узлов имеют иерархические отношения друг с другом.
Термины «родитель», «детьми» и «братские узлы» используются для описания этой связи. Родительский узел имеет подузлы. Подузлы, находящиеся на одном уровне, называются узлами одного уровня или братскими узлами (братья или сестры).
- В дереве узлов верхний узел называется корнем
- За исключением корневого узла, каждый узел имеет только одного родителя
- Узел может иметь любое количество подузлов
- Листовой узел - это узел без подузлов
- Братские узлы - это узлы, имеющие одного общего родителя
На следующем рисунке показана часть дерева узлов и их взаимосвязи:

Поскольку данные XML структурированы в виде дерева, их можно обрабатывать, не зная точной структуры дерева и типов данных, содержащихся в нем.
Вы узнаете больше о навигации по дереву узлов в более поздних главах этого руководства.
Комментарии:Родительский узел: Parent Node, подузел: Children Node, узел одного уровня: Sibling Node.
Первый подузел - последний подузел
Пожалуйста, посмотрите следующий фрагмент XML:
<bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787100011105</ISBN> </book> </bookstore>
В приведенном выше XML, элемент <title> является первым подузлом элемента <book>, а элемент <ISBN> является последним подузлом элемента <book>.
Кроме того, элемент <book> является родителем элементов <title>, <author>, <year>, <press>, <price> и <ISBN>.
- Предыдущая страница Введение в DOM
- Следующая страница Доступ к узлам DOM