最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何使用node.js下载ISO 8859

IT培训 admin 6浏览 0评论

如何使用node.js下载ISO 8859

对于utf-8编码的XML文件,使用http模块的get方法没有问题。但是,当XML文件的编码设置为iso8859-9时,字符未正确显示。我们能做什么?

var express = require('express');
var http = require('http');

var xpath = require('xpath');
var dom = require('xmldom').DOMParser;

var router = express.Router();

getXml = function(resUrl, callback) {
  http.get(resUrl, (res) => {
    res.setEncoding('utf8');
    let data = '';

    // A chunk of data has been recieved.
    res.on('data', (chunk) => {
      data += chunk.toString();
    });

    // The whole response has been received. Print out the result.
    res.on('end', () => {
      callback(data);
    });
  }).end();
}
/* GET home page. */

router.get('/', function(req, res, next) {
  getXml('http://server/xmlfile.xml', function(result) {
    var doc = new dom().parseFromString(result);
    var nodes = xpath.select("//person", doc);

    let str = '';
    nodes.forEach(element => {
      str += element.attributes.getNamedItem("name").value + "<br/>";
    });

    res.render('index', {
      title: 'Express' + str
    });
  });
});

module.exports = router;
回答如下:

var express = require('express');
var http = require('http');

var xpath = require('xpath');
var dom = require('xmldom').DOMParser;

var router = express.Router();

getXml = function(resUrl, callback) {
  http.get(resUrl, (res) => {
    res.setEncoding('utf8');
    let data = '';

    // A chunk of data has been recieved.
    res.on('data', (chunk) => {
      data += chunk.toString();
    });

    // The whole response has been received. Print out the result.
    res.on('end', () => {
      callback(data);
    });
  }).end();
}
/* GET home page. */

router.get('/', function(req, res, next) {
  getXml('http://server/xmlfile.xml', function(result) {
    var doc = new dom().parseFromString(result);
    var nodes = xpath.select("//person", doc);

    let str = '';
    nodes.forEach(element => {
      str += element.attributes.getNamedItem("name").value + "<br/>";
    });

    res.render('index', {
      title: 'Express' + str
    });
  });
});

module.exports = router;

如何使用node.js下载ISO 8859

对于utf-8编码的XML文件,使用http模块的get方法没有问题。但是,当XML文件的编码设置为iso8859-9时,字符未正确显示。我们能做什么?

var express = require('express');
var http = require('http');

var xpath = require('xpath');
var dom = require('xmldom').DOMParser;

var router = express.Router();

getXml = function(resUrl, callback) {
  http.get(resUrl, (res) => {
    res.setEncoding('utf8');
    let data = '';

    // A chunk of data has been recieved.
    res.on('data', (chunk) => {
      data += chunk.toString();
    });

    // The whole response has been received. Print out the result.
    res.on('end', () => {
      callback(data);
    });
  }).end();
}
/* GET home page. */

router.get('/', function(req, res, next) {
  getXml('http://server/xmlfile.xml', function(result) {
    var doc = new dom().parseFromString(result);
    var nodes = xpath.select("//person", doc);

    let str = '';
    nodes.forEach(element => {
      str += element.attributes.getNamedItem("name").value + "<br/>";
    });

    res.render('index', {
      title: 'Express' + str
    });
  });
});

module.exports = router;
回答如下:

var express = require('express');
var http = require('http');

var xpath = require('xpath');
var dom = require('xmldom').DOMParser;

var router = express.Router();

getXml = function(resUrl, callback) {
  http.get(resUrl, (res) => {
    res.setEncoding('utf8');
    let data = '';

    // A chunk of data has been recieved.
    res.on('data', (chunk) => {
      data += chunk.toString();
    });

    // The whole response has been received. Print out the result.
    res.on('end', () => {
      callback(data);
    });
  }).end();
}
/* GET home page. */

router.get('/', function(req, res, next) {
  getXml('http://server/xmlfile.xml', function(result) {
    var doc = new dom().parseFromString(result);
    var nodes = xpath.select("//person", doc);

    let str = '';
    nodes.forEach(element => {
      str += element.attributes.getNamedItem("name").value + "<br/>";
    });

    res.render('index', {
      title: 'Express' + str
    });
  });
});

module.exports = router;

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论