Встроенный объект объекта

ОбъектXmlDocument

XmlDocument — это xmlОбъект модуля, который представляет весь XML-документ и обеспечивает доступ ко всему документу.

XmlDocument является корнем дерева документов и содержит все узлы всего XML-документа. Объект XmlDocument также предоставляет следующие функции:

  1. Создавайте узлы элементов, текстовые узлы, комментарии, инструкции по обработке и т. д.
  2. Доступ и изменение свойств документа и связанной информации (например, комментариев DTD и объявлений документов).
  3. Разбирать XML-документы

Ниже приведен пример кода, который использует объект XmlDocument для анализа XML-документа:

1 2 3 4 5 6 7 8 9
var xml = require('xml'); var fs = require('fs'); var xmlStr = fs.readFile('test.xml'); var xmlDoc = xml.parse(xmlStr); // get document root node name var rootName = xmlDoc.documentElement.nodeName; console.log(`文档根节点名称是 ${rootName}`);

В приведенном выше коде мы сначала используем метод fsмодуля readFile()для чтения XML-файла и присваиваем поток файла переменной xmlStr. Затем мы используем метод [xml](../../module/ifs/xml.md)модуля для анализа XML-файла и присваиваем parse()анализируемый объект переменной . Наконец, мы используем атрибут , чтобы получить корневой узел документа, получить его имя узла и вывести его на консоль.XmlDocumentxmlDocxmlDocdocumentElement

Поскольку XmlDocument является входом ко всему XML-документу, через него мы можем получать и изменять информацию, связанную с документом. Например, мы можем получить и изменить версию XML и отдельные атрибуты документа с помощью xmlDoc.xmlVersionи соответственно. xmlDoc.xmlStandaloneС помощью этого метода мы также можем xmlDoc.createProcessingInstruction()создавать новые узлы инструкций обработки.

Объект XmlDocument — это очень мощный тип, который обеспечивает удобство обработки и анализа XML-файлов.

отношения наследства

Конструктор

XmlDocument

Создайте объект XmlDocument.

1
new XmlDocument(String type = "text/xml");

Параметры звонка:

  • type: строка, указывает тип объекта документа, по умолчанию — «текст/xml", если вам нужно обработать html, то нужно указать "text/html"

свойства члена

inputEncoding

Строка, возвращает кодировку, используемую для документа (при синтаксическом анализе).

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Логическое значение, устанавливает или возвращает значение, является ли документ автономным.

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

Строка, устанавливает или возвращает XML-версию документа.

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, возвращает объявление типа документа, связанное с документом

1
readonly XmlDocumentType XmlDocument.doctype;

Для XML-документов без DTD возвращается ноль. Это свойство обеспечиваетXmlDocumentTypeПрямой доступ к объекту (дочернему узлу XmlDocument).


documentElement

XmlElement, возвращает корневой узел документа

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, возвращает головной узел HTML-документа, действителен только в режиме html.

1
readonly XmlElement XmlDocument.head;

title

Строка, возвращает содержимое узла заголовка HTML-документа, допустимо только в режиме HTML.

1
readonly String XmlDocument.title;

body

XmlElement, возвращает узел тела HTML-документа, действителен только в режиме html.

1
readonly XmlElement XmlDocument.body;

nodeType

Целое число, возвращает тип узла.

1
readonly Integer XmlDocument.nodeType;

NodeType разных объектов будет возвращать разные значения:


nodeName

Строка, возвращает имя узла в соответствии с его типом.

1
readonly String XmlDocument.nodeName;

Имя узла разных объектов будет возвращать разные значения:


nodeValue

Строка, возвращает имя узла в соответствии с его типом.

1
String XmlDocument.nodeValue;

Имя узла разных объектов будет возвращать разные значения:


ownerDocument

XmlDocument, возвращает корневой элемент узла (объект XmlDocument).

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, может вернуть родительский узел узла

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, возвращает список дочерних узлов указанного узла

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, возвращает список узлов дочерних элементов указанного узла.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, возвращает первый дочерний узел узла

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, возвращает последний дочерний узел узла

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, возвращает узел, непосредственно предшествующий узлу (на том же уровне дерева). Если такого узла нет, то это свойство возвращает значение null.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, возвращает узел, следующий сразу за элементом (на том же уровне дерева). Если такого узла нет, атрибут возвращает значение null.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, возвращает первый дочерний элемент узла узла

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, возвращает последний дочерний элемент узла узла

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, возвращает узел элемента, непосредственно предшествующий узлу (на том же уровне дерева). Если такого узла нет, то это свойство возвращает значение null.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, возвращает узел элемента, следующий сразу за элементом (на том же уровне дерева). Если такого узла нет, атрибут возвращает значение null.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

Строка, запрашивает и устанавливает текст выбранного элемента. При запросе возвращает значения всех текстовых узлов внутри узла элемента; при установке удаляет все дочерние узлы и заменяет их одним текстовым узлом.

1
String XmlDocument.textContent;

функция-член

load

Документ составляется путем анализа строки XML/HTML. Многоязычие не поддерживается.

1
XmlDocument.load(String source);

Параметры звонка:

  • source: строка, текст XML/HTML для анализа, в зависимости от типа, когда документ был создан.

Документ составляется путем анализа двоичной строки XML/HTML и автоматически преобразуется в соответствии с языком.

1
XmlDocument.load(Buffer source);

Параметры звонка:

  • source:Buffer, текст XML/HTML для анализа, в зависимости от типа документа при его создании.

getElementsByTagName

Возвращает список узлов со всеми элементами с указанным именем.

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Параметры звонка:

  • tagName: строка, имя тега, который необходимо получить. Значение «*» соответствует всем тегам

Результаты возврата:

  • XmlNodeList, с указанным тегом в дереве документаXmlElementУзловойXmlNodeListсобирать. Порядок возвращаемых узлов элементов — это порядок, в котором они появляются в исходном документе.

Этот метод вернетXmlNodeListОбъект (может обрабатываться как массив, доступный только для чтения), который хранит все теги в документе с указанным именем тега.XmlElementУзлы сохраняются в том порядке, в котором они появляются в исходном документе.XmlNodeListОбъект является «живым», то есть если в документе будет добавлен или удален элемент с указанным именем тега, его содержимое будет автоматически обновляться по мере необходимости.


getElementsByTagNameNS

Возвращает список узлов всех элементов с указанным пространством имен и именем.

1 2
XmlNodeList XmlDocument.getElementsByTagNameNS(String namespaceURI, String localName);

Параметры звонка:

  • namespaceURI: строка, указывает URI пространства имен, который необходимо получить. Значение «*» соответствует всем тегам
  • localName: строка, имя тега, который необходимо получить. Значение «*» соответствует всем тегам

Результаты возврата:

  • XmlNodeList, с указанным тегом в дереве документаXmlElementУзловойXmlNodeListсобирать. Порядок возвращаемых узлов элементов — это порядок, в котором они появляются в исходном документе.

Этот метод аналогичен методу getElementsByTagName(), за исключением того, что он извлекает элементы на основе пространства имен и имени.


getElementById

Возвращает элемент с указанным атрибутом id

1
XmlElement XmlDocument.getElementById(String id);

Параметры звонка:

  • id: строка, идентификатор, который нужно получить.

Результаты возврата:

  • XmlElement, с указанным атрибутом id в дереве узловXmlElementузел

Этот метод будет проходить через узлы-потомки документа и возвращатьXmlElementОбъект узла, представляющий первый элемент документа с указанным атрибутом id. .


getElementsByClassName

Возвращает список узлов всех элементов с указанным именем класса.

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Параметры звонка:

  • className: строка, имя класса, которое нужно получить.

Результаты возврата:

  • XmlNodeList, с указанным именем класса в дереве документаXmlElementУзловойXmlNodeListсобирать. Порядок возвращаемых узлов элементов — это порядок, в котором они появляются в исходном документе.

Этот метод вернетXmlNodeListОбъект (может обрабатываться как массив, доступный только для чтения), в котором хранятся все файлы с указанным именем класса в документе.XmlElementУзлы сохраняются в том порядке, в котором они появляются в исходном документе.XmlNodeListОбъект является «живым», то есть если в документе будет добавлен или удален элемент с указанным именем тега, его содержимое будет автоматически обновляться по мере необходимости.


createElement

Создать узел элемента

1
XmlElement XmlDocument.createElement(String tagName);

Параметры звонка:

  • tagName: строка, указывает указанное имя узла элемента.

Результаты возврата:

  • XmlElement, возвращает вновь созданныйXmlElementузел с указанным именем метки

createElementNS

Создает узел элемента с указанным пространством имен.

1 2
XmlElement XmlDocument.createElementNS(String namespaceURI, String qualifiedName);

Параметры звонка:

  • namespaceURI: строка, указывает URI пространства имен узла элемента.
  • qualifiedName: строка, указывает указанное имя узла элемента.

Результаты возврата:

  • XmlElement, возвращает вновь созданныйXmlElementузел с указанным именем метки

createTextNode

Создать текстовый узел

1
XmlText XmlDocument.createTextNode(String data);

Параметры звонка:

  • data: строка, определяет текст этого узла.

Результаты возврата:

  • XmlText, возвращает вновь созданныйXmlTextУзел, представляющий указанную строку данных

createComment

Создать узел аннотации

1
XmlComment XmlDocument.createComment(String data);

Параметры звонка:

  • data: строка, определяет текст комментария этого узла.

Результаты возврата:

  • XmlComment, возвращает вновь созданныйXmlCommentУзел, текст комментария — указанные данные

createCDATASection

создаватьXmlCDATASectionузел

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Параметры звонка:

  • data: строка, указывает, что этот узел указывает данные CDATA.

Результаты возврата:

  • XmlCDATASection, возвращает вновь созданныйXmlCDATASectionУзел, содержимое — указанные данные

createProcessingInstruction

создаватьXmlProcessingInstructionузел

1 2
XmlProcessingInstruction XmlDocument.createProcessingInstruction(String target, String data);

Параметры звонка:

  • target: строка, указывает цель инструкции обработки.
  • data: строка, указывает текст содержимого инструкции обработки.

Результаты возврата:


hasChildNodes

Запросить, есть ли дочерние узлы

1
Boolean XmlDocument.hasChildNodes();

Результаты возврата:

  • Boolean, возвращает true, если есть дочерние узлы, в противном случае возвращает false

normalize

Объединить соседние текстовые узлы и удалить пустые текстовые узлы.

1
XmlDocument.normalize();

Этот метод пройдет через все узлы-потомки текущего узла и нормализует документ, удалив пустые узлы Text и объединив все соседние узлы Text. Этот метод полезен для упрощения структуры дерева документа после вставки или удаления узлов.


cloneNode

Создает точную копию указанного узла

1
XmlNode XmlDocument.cloneNode(Boolean deep = true);

Параметры звонка:

  • deep: логическое значение, следует ли выполнять глубокое копирование. Если установлено значение true, клонированный узел клонирует все дочерние узлы исходного узла.

Результаты возврата:

  • XmlNode, возвращает скопированный узел

Этот метод скопирует и вернет копию узла, на котором он был вызван. Если переданный ему аргумент верен, он также рекурсивно скопирует все узлы-потомки текущего узла. В противном случае он только копирует текущий узел. Возвращенный узел не принадлежит дереву документа, а его свойство родительский узел имеет значение null. При копировании узла Element будут скопированы все его свойства.


lookupPrefix

Возвращает префикс, соответствующий указанному URI пространства имен на текущем узле.

1
String XmlDocument.lookupPrefix(String namespaceURI);

Параметры звонка:

  • namespaceURI: строка, указывает соответствующий URI пространства имен.

Результаты возврата:

  • String, возвращает соответствующий префикс, возвращает ноль, если не совпадает.

lookupNamespaceURI

Возвращает URI пространства имен, соответствующий указанному префиксу на текущем узле.

1
String XmlDocument.lookupNamespaceURI(String prefix);

Параметры звонка:

  • prefix: строка, указывает соответствующий префикс.

Результаты возврата:

  • String, возвращает соответствующий URI пространства имен, возвращает значение null, если не совпадает.

insertBefore

Вставьте новый дочерний узел перед существующим дочерним узлом.

1 2
XmlNode XmlDocument.insertBefore(XmlNode newChild, XmlNode refChild);

Параметры звонка:

  • newChild:XmlNode, вставить новый узел
  • refChild:XmlNode, вставьте новый узел перед этим узлом

Результаты возврата:

  • XmlNode, возвращает новый дочерний узел

Если newChild уже существует в дереве документов, он будет удален из дерева документов и повторно вставлен в новую позицию. Узлы из одного документа (или узлы, созданные одним документом) не могут быть вставлены в другой документ. То есть атрибут OwnerDocument объекта newChild должен совпадать с атрибутом OwnerDocument текущего узла.


insertAfter

Вставьте новый дочерний узел после существующего дочернего узла.

1 2
XmlNode XmlDocument.insertAfter(XmlNode newChild, XmlNode refChild);

Параметры звонка:

  • newChild:XmlNode, вставить новый узел
  • refChild:XmlNode, вставьте новый узел после этого узла

Результаты возврата:

  • XmlNode, возвращает новый дочерний узел

Если newChild уже существует в дереве документов, он будет удален из дерева документов и повторно вставлен в новую позицию. Узлы из одного документа (или узлы, созданные одним документом) не могут быть вставлены в другой документ. То есть атрибут OwnerDocument объекта newChild должен совпадать с атрибутом OwnerDocument текущего узла.


appendChild

Добавляет новый дочерний узел в конец списка дочерних узлов узла.

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Параметры звонка:

  • newChild:XmlNode, укажите добавленный узел

Результаты возврата:

  • XmlNode, возвращает этот новый дочерний узел

Если newChild уже существует в дереве документов, он будет удален из дерева документов и повторно вставлен в новую позицию. Узлы из одного документа (или узлы, созданные одним документом) не могут быть вставлены в другой документ. То есть атрибут OwnerDocument объекта newChild должен совпадать с атрибутом OwnerDocument текущего узла.


replaceChild

Заменить дочерний узел другим

1 2
XmlNode XmlDocument.replaceChild(XmlNode newChild, XmlNode oldChild);

Параметры звонка:

  • newChild:XmlNode, укажите новый узел
  • oldChild:XmlNode, указывает узел, который будет заменен

Результаты возврата:

  • XmlNode, Если замена прошла успешно, этот метод может вернуть замененный узел. Если замена не удалась, он возвращает значение null.

Если newChild уже существует в дереве документов, он будет удален из дерева документов и повторно вставлен в новую позицию. Узлы из одного документа (или узлы, созданные одним документом) не могут быть вставлены в другой документ. То есть атрибут OwnerDocument объекта newChild должен совпадать с атрибутом OwnerDocument текущего узла.


removeChild

Удалить узел из списка дочерних узлов

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Параметры звонка:

  • oldChild:XmlNode, указывает узел, который нужно удалить

Результаты возврата:

  • XmlNode, Если удаление прошло успешно, этот метод может вернуть удаленный узел. В случае неудачи он возвращает значение null.

toString

Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String XmlDocument.toString();

Результаты возврата:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

1
Value XmlDocument.toJSON(String key = "");

Параметры звонка:

  • key: Строка, не используется.

Результаты возврата:

  • Value, возвращает значение, содержащее сериализуемый JSON