JSON to XML Converter Tool Code Written in HTML Javascript and Css.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON to XML Converter</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f9;
}
.container {
max-width: 1200px;
margin: 20px auto;
padding: 20px;
background-color: #ffffff;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
h1 {
text-align: center;
color: #4a90e2;
}
textarea {
width: 100%;
height: 200px;
margin: 10px 0;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 14px;
resize: vertical;
}
button {
background-color: #4a90e2;
color: #fff;
border: none;
padding: 10px 20px;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
margin: 10px 0;
display: inline-block;
}
button:hover {
background-color: #357ab8;
}
.output {
background-color: #f9f9f9;
padding: 15px;
border: 1px solid #ddd;
border-radius: 5px;
overflow-x: auto;
}
.error {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<h1>JSON to XML Converter</h1>
<textarea id="jsonInput" placeholder="Enter JSON here..."></textarea>
<button id="convertButton">Convert to XML</button>
<div class="output" id="xmlOutput"></div>
</div>
<script>
function jsonToXml(json) {
const convert = (obj, root = true) => {
let xml = '';
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
const value = obj[key];
if (Array.isArray(value)) {
value.forEach(item => {
xml += `<${key}>${convert(item, false)}</${key}>`;
});
} else if (typeof value === 'object' && value !== null) {
xml += `<${key}>${convert(value, false)}</${key}>`;
} else {
xml += `<${key}>${value}</${key}>`;
}
}
}
return root ? `<?xml version="1.0" encoding="UTF-8"?>\n<root>${xml}</root>` : xml;
};
return convert(json);
}
document.getElementById('convertButton').addEventListener('click', () => {
const input = document.getElementById('jsonInput').value;
const outputElement = document.getElementById('xmlOutput');
outputElement.innerHTML = '';
try {
const json = JSON.parse(input);
const xml = jsonToXml(json);
const formattedXml = xml.replace(/</g, '<').replace(/>/g, '>');
outputElement.innerHTML = `<pre>${formattedXml}</pre>`;
outputElement.classList.remove('error');
} catch (error) {
outputElement.textContent = 'Invalid JSON input! Please provide a valid JSON object.';
outputElement.classList.add('error');
}
});
</script>
</body>
</html>