Базовый модуль модуля

модульxml

модуль обработки xml, вы можете использовать модуль xml для анализа и обработки файлов xml и html.

Для анализа XML-файла вы можете использовать такой код:

1 2 3 4 5 6 7
var xml = require('xml'); var fs = require('fs'); var xmlStr = fs.readFile('test.xml'); var xmlDoc = xml.parse(xmlStr); console.log(xmlDoc.documentElement.nodeName); // output root node name

В приведенном выше коде мы используемfsМетод readFile модуля считывает XML-файл, затем использует метод синтаксического анализа модуля XML для анализа XML-файла и возвращаетXmlDocumentОбъект xmlDoc. Затем мы можем получить доступ к корневому элементу документа xml через xmlDoc.documentElement.

Чтобы разобрать html-файлы, вам просто нужно немного изменить свой код:

1 2 3 4 5 6 7
var xml = require('xml'); var fs = require('fs'); var htmlStr = fs.readFile('test.html'); var xmlDoc = xml.parse(htmlStr, 'text/html'); console.log(xmlDoc.documentElement.nodeName); // output root node name

Здесь мы также используемfsМетод readFile модуля читает html-файл, но когда мы вызываем метод parse модуля xml, мы указываем второй параметр как «text/html», чтобы модуль xml анализировал файл в соответствии с грамматическими правилами html.

Разобранные объекты документа Xml:XmlDocumentТипами, их свойствами и методами можно управлять с помощью объектной модели XML (DOM).

объект

Document

объект документа xml, см.XmlDocumentобъект

1
XmlDocument xml.Document;

статическая функция

parse

Разобрать текст xml/html и создатьXmlDocumentОбъект, многоязычность не поддерживается

1 2
static XmlDocument xml.parse(String source, String type = "text/xml");

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

  • source: строка, указывает текст xml/html, который необходимо проанализировать.
  • type: строка, указывает тип текста, по умолчанию — text/xml, его также можно указать как text/html.

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


Разберите xml/html и создайтеXmlDocumentОбъект, который будет конвертирован в соответствии с указанным языком во время парсинга.

1 2
static XmlDocument xml.parse(Buffer source, String type = "text/xml");

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

  • source:Bufferукажите двоичные данные xml/html, которые необходимо проанализировать.
  • type: строка, указывает тип текста, по умолчанию — text/xml, его также можно указать как text/html.

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


serialize

СериализацияXmlNodeэто строка

1
static String xml.serialize(XmlNode node);

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

  • node:XmlNode, укажите, что нужно сериализоватьXmlNode

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

  • String, возвращает сериализованную строку

постоянный

ELEMENT_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlElementобъект

1
const xml.ELEMENT_NODE = 1;

ATTRIBUTE_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlAttrобъект

1
const xml.ATTRIBUTE_NODE = 2;

TEXT_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlTextобъект

1
const xml.TEXT_NODE = 3;

CDATA_SECTION_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlCDATASectionобъект

1
const xml.CDATA_SECTION_NODE = 4;

PROCESSING_INSTRUCTION_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlProcessingInstructionобъект

1
const xml.PROCESSING_INSTRUCTION_NODE = 7;

COMMENT_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlCommentобъект

1
const xml.COMMENT_NODE = 8;

DOCUMENT_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlDocumentобъект

1
const xml.DOCUMENT_NODE = 9;

DOCUMENT_TYPE_NODE

XmlNodeКонстанта атрибута nodeType указывает, что узелXmlDocumentTypeобъект

1
const xml.DOCUMENT_TYPE_NODE = 10;