модульxml
модуль обработки xml, вы можете использовать модуль xml для анализа и обработки файлов xml и html.
Для анализа XML-файла вы можете использовать такой код:
1
2
3
4
5
6
7var 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
7var 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объект
1XmlDocument xml.Document;
статическая функция
parse
Разобрать текст xml/html и создатьXmlDocumentОбъект, многоязычность не поддерживается
1
2static XmlDocument xml.parse(String source,
String type = "text/xml");
Параметры звонка:
- source: строка, указывает текст xml/html, который необходимо проанализировать.
- type: строка, указывает тип текста, по умолчанию — text/xml, его также можно указать как text/html.
Результаты возврата:
- XmlDocument, возвращает созданныйXmlDocumentобъект
Разберите xml/html и создайтеXmlDocumentОбъект, который будет конвертирован в соответствии с указанным языком во время парсинга.
1
2static XmlDocument xml.parse(Buffer source,
String type = "text/xml");
Параметры звонка:
- source:Bufferукажите двоичные данные xml/html, которые необходимо проанализировать.
- type: строка, указывает тип текста, по умолчанию — text/xml, его также можно указать как text/html.
Результаты возврата:
- XmlDocument, возвращает созданныйXmlDocumentобъект
serialize
СериализацияXmlNodeэто строка
1static String xml.serialize(XmlNode node);
Параметры звонка:
Результаты возврата:
- String, возвращает сериализованную строку
постоянный
ELEMENT_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlElementобъект
1const xml.ELEMENT_NODE = 1;
ATTRIBUTE_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlAttrобъект
1const xml.ATTRIBUTE_NODE = 2;
TEXT_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlTextобъект
1const xml.TEXT_NODE = 3;
CDATA_SECTION_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlCDATASectionобъект
1const xml.CDATA_SECTION_NODE = 4;
PROCESSING_INSTRUCTION_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlProcessingInstructionобъект
1const xml.PROCESSING_INSTRUCTION_NODE = 7;
COMMENT_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlCommentобъект
1const xml.COMMENT_NODE = 8;
DOCUMENT_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlDocumentобъект
1const xml.DOCUMENT_NODE = 9;
DOCUMENT_TYPE_NODE
XmlNodeКонстанта атрибута nodeType указывает, что узелXmlDocumentTypeобъект
1const xml.DOCUMENT_TYPE_NODE = 10;