moduloxml
modulo di elaborazione xml, è possibile utilizzare il modulo xml per analizzare ed elaborare file xml e html
Per analizzare il file xml puoi usare un codice come questo:
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
Nel codice sopra usiamofsIl metodo readFile del modulo legge un file xml, quindi utilizza il metodo parse del modulo xml per analizzare il file xml e restituisce unXmlDocumentOggetto xmlDoc. Quindi, possiamo accedere all'elemento root del documento xml tramite xmlDoc.documentElement.
Per analizzare i file html, devi solo modificare leggermente il codice:
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
Anche qui usiamofsIl metodo readFile del modulo legge un file html, ma quando chiamiamo il metodo parse del modulo xml, specifichiamo il secondo parametro come 'text/html', in modo che il modulo xml analizzi il file secondo le regole grammaticali di html.
Gli oggetti documento Xml analizzati sonoXmlDocumentI tipi, le loro proprietà e i metodi possono essere tutti manipolati con riferimento al modello di oggetti XML (DOM).
oggetto
Document
oggetto documento xml, vedereXmlDocumentoggetto
1XmlDocument xml.Document;
funzione statica
parse
Analizza il testo xml/html e creaXmlDocumentOggetto, multilingue non supportato
1
2static XmlDocument xml.parse(String source,
String type = "text/xml");
Parametri di chiamata:
- source: String, specifica il testo xml/html che deve essere analizzato
- type: String, specifica il tipo di testo, il valore predefinito è text/xml, può anche essere specificato come text/html
Risultati restituiti:
- XmlDocument, restituisce il creatoXmlDocumentoggetto
Analizza xml/html e creaXmlDocumentOggetto, che verrà convertito in base alla lingua specificata durante l'analisi
1
2static XmlDocument xml.parse(Buffer source,
String type = "text/xml");
Parametri di chiamata:
- source:Buffer, specificare i dati binari xml/html che devono essere analizzati
- type: String, specifica il tipo di testo, il valore predefinito è text/xml, può anche essere specificato come text/html
Risultati restituiti:
- XmlDocument, restituisce il creatoXmlDocumentoggetto
serialize
SerializzazioneXmlNodeè una stringa
1static String xml.serialize(XmlNode node);
Parametri di chiamata:
Risultati restituiti:
- String, restituisce la stringa serializzata
costante
ELEMENT_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlElementoggetto
1const xml.ELEMENT_NODE = 1;
ATTRIBUTE_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlAttroggetto
1const xml.ATTRIBUTE_NODE = 2;
TEXT_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlTextoggetto
1const xml.TEXT_NODE = 3;
CDATA_SECTION_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlCDATASectionoggetto
1const xml.CDATA_SECTION_NODE = 4;
PROCESSING_INSTRUCTION_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlProcessingInstructionoggetto
1const xml.PROCESSING_INSTRUCTION_NODE = 7;
COMMENT_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlCommentoggetto
1const xml.COMMENT_NODE = 8;
DOCUMENT_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlDocumentoggetto
1const xml.DOCUMENT_NODE = 9;
DOCUMENT_TYPE_NODE
XmlNodeLa costante dell'attributo nodeType indica che il nodo lo èXmlDocumentTypeoggetto
1const xml.DOCUMENT_TYPE_NODE = 10;