Open In App

How to Parse XML in JavaScript?

Parsing XML data is important because it allows JavaScript applications to extract structured information from XML documents. We will explore two different approaches to Parse XML in JavaScript.

Below are the approaches to parsing XML in JavaScript:

Using DOM Parser

In this approach, we are using the DOM Parser, which is built into browsers, to parse XML data. The parser converts the XML into a DOM object, allowing easy traversal and extraction of elements using standard DOM methods.

Run the below command to install xmldom library:

npm install xmldom

Example: The below example uses DOM Parser to Parse XML in JavaScript.

const {
  DOMParser
} = require('xmldom');
const xmlData = `
  <organization>
    <name>GeeksforGeeks</name>
    <founder>Sandeep Jain</founder>
    <location>Noida</location>
  </organization>
`;
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlData,
                                    'text/xml');
const orgName = xmlDoc.getElementsByTagName('name')
                   [0].textContent;
const founder = xmlDoc.getElementsByTagName('founder')
                   [0].textContent;
const location = xmlDoc.getElementsByTagName('location')
                    [0].textContent;
console.log('Organization Name:', orgName);
console.log('Founder:', founder);
console.log('Location:', location);

Output:

Organization Name: GeeksforGeeks
Founder: Sandeep Jain
Location: Noida

Using xml2js Library

In this approach, we are using the xml2js library in JavaScript to parse XML data asynchronously. The parseString function converts XML into a JavaScript object, enabling easy access to elements for further processing or display.

Run the below command to install xml2js library:

npm install xml2js 

Example: The below example uses xml2js Library to Parse XML in JavaScript.

const {
  parseString
} = require('xml2js');
const xmlData = `
  <organization>
    <name>GeeksforGeeks</name>
    <founder>Sandeep Jain</founder>
    <location>Noida</location>
  </organization>
`;
parseString(xmlData, (err, result) => {
  if (err) {
    console.error('Error parsing XML:', err);
    return;
  }
  const orgName = result.organization.name[0];
  const founder = result.organization.founder[0];
  const location = result.organization.location[0];
  console.log('Organization Name:', orgName);
  console.log('Founder:', founder);
  console.log('Location:', location);
});

Output:

Organization Name: GeeksforGeeks
Founder: Sandeep Jain
Location: Noida
Article Tags :