JSON to XML Converter Tool Code

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, '&lt;').replace(/>/g, '&gt;');

                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>


Admin

A Software Engineer, Social Media Marketing Expert, writer,

Post a Comment

Previous Post Next Post