nodejs json을 xml로

王林
王林원래의
2023-05-24 11:42:37901검색

Node.js는 Chrome V8 JavaScript 엔진을 기반으로 구축된 서버 측 실행 환경입니다. JavaScript를 사용하여 서버측 코드를 작성할 수 있으며 현재 가장 널리 사용되는 서버측 프로그래밍 언어 중 하나입니다. 그 중 JSON(JavaScript Object Notation)은 네트워크 데이터 전송 및 데이터 저장에 널리 사용되는 경량 데이터 교환 형식입니다. XML(Extensible Markup Language)은 데이터를 저장하고 전송하는 데 사용되는 언어로, 데이터 전송 및 저장에도 널리 사용됩니다.

Node.js에서는 JSON 형식을 XML 형식으로 변환하는 것이 일반적인 작업입니다. 이는 특정 데이터 전송 프로토콜이나 데이터 저장 프로토콜에 더 잘 적응할 수 있습니다. 이 기사에서는 Node.js의 모듈을 사용하여 JSON 형식을 XML 형식으로 변환하는 방법을 소개합니다.

xmlbuilder 모듈 사용

XMLBuilder는 XML 문서 작성을 위한 Node.js의 모듈입니다. 체인 호출과 간단한 구문을 지원하므로 개발자가 XML 문서를 빠르게 만들 수 있습니다. 전체 코드 예제는 다음과 같습니다.

const builder = require('xmlbuilder');

const jsonObj = {
  "book": {
    "title": "Harry Potter and the Philosopher's Stone",
    "author": "J.K. Rowling",
    "year": "1997"
  }
};

const xmlObj = builder.create(jsonObj, { encoding: 'utf-8' });
const xmlStr = xmlObj.end({ pretty: true });

console.log(xmlStr);

이 예제 코드는 JSON 개체를 XML 문자열로 변환합니다. 먼저 xmlbuilder 모듈을 소개한 다음 책 제목, 저자 및 출판 연도가 포함된 JSON 개체 jsonObj를 정의했습니다. 다음으로 builder.create() 메서드를 사용하여 JSON 개체를 XML 개체 xmlObj로 변환하고 인코딩 형식을 UTF-8로 지정합니다. 마지막으로 xmlObj.end() 메서드를 사용하여 XML을 문자열로 형식화하고 콘솔에 출력합니다. jsonObj,它包含了书名、作者和出版年份。接着,我们使用builder.create()方法将JSON对象转换为XML对象xmlObj,同时指定了编码形式为UTF-8。最后,我们使用xmlObj.end()方法将XML格式化为字符串,并输出它至控制台上。

在上面的代码中,使用XMLBuilder构建XML文档的过程中,是使用了链式调用的方式,通过连续的点操作符(.)来实现添加子节点或属性。XMLBuilder也可使用JSON形式来构建节点,例如 {name: "value"}。链式调用和JSON形式的构造树形结构,都让XMLBuilder API使用起来十分简单和便利。

使用xml2js模块

xml2js是一个将XML文档解析为JavaScript对象的模块,同时也提供将JavaScript对象转换为XML文档的功能。以下是用于将JSON对象转换为XML文档的示例代码:

const xml2js = require("xml2js");

const jsonObj = {
  "book": {
    "title": "Harry Potter and the Philosopher's Stone",
    "author": "J.K. Rowling",
    "year": "1997"
  }
};

const xmlBuilder = new xml2js.Builder({ rootName: "books", renderOpts: { pretty: true } });
const xmlStr = xmlBuilder.buildObject(jsonObj);

console.log(xmlStr);

在这个示例代码中,我们首先引入了xml2js模块,然后定义了一个JSON对象jsonObj。接着,我们使用new xml2js.Builder()方法创建了一个XMLBuilder对象xmlBuilder,并指定了根节点名称为"books",输出格式为美化样式。最后,我们使用xmlBuilder.buildObject()方法将JSON对象转换为XML格式,并输出到控制台。

需要注意的是,使用xml2js将JSON转换为XML格式时,需要使用new xml2js.Builder()方法创建一个XMLBuilder对象,才能进行转换操作。同时,使用xml2js进行XML文档的解析操作也非常方便,通过xml2js提供的parseString()方法,我们可以将XML文档解析为JavaScript对象,如下代码所示:

const xml2js = require("xml2js");

const xmlStr = '<books><book><title>Harry Potter and the Philosopher&apos;s Stone</title><author>J.K. Rowling</author><year>1997</year></book></books>';

xml2js.parseString(xmlStr, { explicitArray: false }, (err, result) => {
  if (err) {
    console.error(err);
    return;
  }
  
  console.log(result);
});

在这个代码示例中,我们使用xml2js.parseString()方法将XML字符串解析为JavaScript对象。在parseString()方法中,我们还指定了explicitArray:false

위 코드에서는 XMLBuilder를 사용하여 XML 문서를 작성하는 과정에서 연속 도트 연산자(.)를 통해 하위 노드나 속성을 추가하는 체인 호출 메서드가 사용됩니다. XMLBuilder는 JSON 형식을 사용하여 {name: "value"}와 같은 노드를 빌드할 수도 있습니다. 체인 호출과 JSON 형식의 구성 트리 구조 덕분에 XMLBuilder API는 사용이 매우 간단하고 편리해졌습니다.

xml2js 모듈을 사용하세요

xml2js는 XML 문서를 JavaScript 객체로 파싱하는 모듈이며, JavaScript 객체를 XML 문서로 변환하는 기능도 제공합니다. 다음은 JSON 개체를 XML 문서로 변환하기 위한 샘플 코드입니다. 🎜rrreee🎜 이 샘플 코드에서는 먼저 xml2js 모듈을 소개한 다음 JSON 개체 jsonObj를 정의합니다. 다음으로, new xml2js.Builder() 메서드를 사용하여 XMLBuilder 개체 xmlBuilder를 생성하고 루트 노드 이름을 "books"로 지정하고 출력 형식을 미화 스타일로 지정했습니다. . 마지막으로 xmlBuilder.buildObject() 메서드를 사용하여 JSON 개체를 XML 형식으로 변환하고 콘솔에 출력합니다. 🎜🎜JSON을 XML 형식으로 변환하기 위해 xml2js를 사용할 때 변환 작업을 수행하려면 new xml2js.Builder() 메서드를 사용하여 XMLBuilder 개체를 생성해야 한다는 점에 유의해야 합니다. 동시에 xml2js를 사용하여 XML 문서를 구문 분석하는 것도 매우 편리합니다. xml2js에서 제공하는 parseString() 메서드를 통해 다음 코드와 같이 XML 문서를 JavaScript 개체로 구문 분석할 수 있습니다. : 🎜rrreee🎜이 코드 예제에서는 xml2js.parseString() 메서드를 사용하여 XML 문자열을 JavaScript 개체로 구문 분석합니다. parseString() 메서드에서는 XML 문서를 구문 분석할 때 중복 배열이 생성되는 것을 방지하기 위해 explicitArray:false 매개 변수도 지정합니다. XML 문서를 JavaScript 개체로 구문 분석한 후 콜백 함수에서 JavaScript 개체만 처리하면 됩니다. 🎜🎜Summary🎜🎜Node.js는 JSON 형식을 XML 형식으로 변환하는 기능을 구현하는 일부 모듈을 제공하며 그중 XMLBuilder와 xml2js는 모두 좋은 선택입니다. XMLBuilder를 사용하면 체인 작업과 JSON 형식을 통해 XML 문서를 쉽게 작성할 수 있습니다. xml2js는 후속 처리를 용이하게 하기 위해 XML 문서를 JavaScript 객체로 구문 분석하는 기능을 제공합니다. 어떤 종류의 모듈이든 Node.js에서 제공하는 모듈을 최대한 활용하면 코드가 단순화되고 개발이 더욱 효율적이고 편리해집니다. 🎜

위 내용은 nodejs json을 xml로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.