{"id":4529,"date":"2025-05-25T09:08:45","date_gmt":"2025-05-25T09:08:45","guid":{"rendered":"https:\/\/ingenio.vip\/?post_type=tools-pages&#038;p=4529"},"modified":"2025-05-25T09:08:49","modified_gmt":"2025-05-25T09:08:49","slug":"xml-to-json-converter","status":"publish","type":"tools-pages","link":"https:\/\/ingenio.vip\/zh\/tools-pages\/xml-to-json-converter\/","title":{"rendered":"XML to JSON Converter"},"content":{"rendered":"<div class=\"ingenio-tool xml-to-json\" role=\"region\" aria-labelledby=\"xml-json-title\">\r\n  <h2 id=\"xml-json-title\">XML to JSON Converter<\/h2>\r\n\r\n  <form class=\"form-group\" onsubmit=\"return false;\" action=\"\">\r\n    <label for=\"xmlInput\"><strong>Paste XML Here:<\/strong><\/label>\r\n    <textarea id=\"xmlInput\" placeholder=\"<example><item>Value<\/item><\/example>\" rows=\"8\"><\/textarea>\r\n\r\n    <button id=\"convertXmlToJson\">Convert to JSON<\/button>\r\n  <input type=\"hidden\" name=\"trp-form-language\" value=\"zh\"\/><\/form>\r\n\r\n  <div id=\"jsonResult\" aria-live=\"polite\" style=\"margin-top: 20px;\">\r\n    <h3>Result:<\/h3>\r\n    <pre><code id=\"jsonOutput\"><\/code><\/pre>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .ingenio-tool.xml-to-json {\r\n    max-width: 1200px;\r\n    margin: 30px auto;\r\n    padding: 25px;\r\n    background: #f9f9f9;\r\n    border-radius: 12px;\r\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\r\n    font-family: system-ui, sans-serif;\r\n    color: #333;\r\n  }\r\n\r\n  .xml-to-json h2 {\r\n    text-align: center;\r\n    margin-bottom: 20px;\r\n    color: #2271b1;\r\n  }\r\n\r\n  .form-group {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 15px;\r\n  }\r\n\r\n  .form-group textarea {\r\n    padding: 12px;\r\n    font-size: 1rem;\r\n    border-radius: 6px;\r\n    border: 1px solid #ccc;\r\n    resize: vertical;\r\n  }\r\n\r\n  #convertXmlToJson {\r\n    padding: 12px;\r\n    font-size: 1rem;\r\n    background-color: #2271b1;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 6px;\r\n    cursor: pointer;\r\n    transition: background 0.2s;\r\n  }\r\n\r\n  #convertXmlToJson:hover {\r\n    background-color: #1d5a91;\r\n  }\r\n\r\n  #jsonResult {\r\n    background: #eef7ff;\r\n    padding: 15px;\r\n    border-radius: 8px;\r\n    border: 1px solid #cce4ff;\r\n    white-space: pre-wrap;\r\n    font-size: 0.95rem;\r\n    font-family: monospace;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n    document.getElementById(\"convertXmlToJson\").addEventListener(\"click\", () => {\r\n      const xmlString = document.getElementById(\"xmlInput\").value.trim();\r\n      const output = document.getElementById(\"jsonOutput\");\r\n\r\n      try {\r\n        const parser = new DOMParser();\r\n        const xmlDoc = parser.parseFromString(xmlString, \"text\/xml\");\r\n\r\n        if (xmlDoc.querySelector(\"parsererror\")) {\r\n          throw new Error(\"Invalid XML input.\");\r\n        }\r\n\r\n        const xmlToJson = (node) => {\r\n          let obj = {};\r\n          if (node.nodeType === 1) {\r\n            if (node.attributes.length > 0) {\r\n              obj[\"@attributes\"] = {};\r\n              for (let attr of node.attributes) {\r\n                obj[\"@attributes\"][attr.name] = attr.value;\r\n              }\r\n            }\r\n          }\r\n\r\n          if (node.hasChildNodes()) {\r\n            for (let child of node.childNodes) {\r\n              if (child.nodeType === 3 && child.textContent.trim()) {\r\n                obj[\"#text\"] = child.textContent.trim();\r\n              } else if (child.nodeType === 1) {\r\n                const nodeName = child.nodeName;\r\n                const childObj = xmlToJson(child);\r\n\r\n                if (obj[nodeName] === undefined) {\r\n                  obj[nodeName] = childObj;\r\n                } else {\r\n                  if (!Array.isArray(obj[nodeName])) {\r\n                    obj[nodeName] = [obj[nodeName]];\r\n                  }\r\n                  obj[nodeName].push(childObj);\r\n                }\r\n              }\r\n            }\r\n          }\r\n\r\n          return obj;\r\n        };\r\n\r\n        const json = xmlToJson(xmlDoc.documentElement);\r\n        output.textContent = JSON.stringify(json, null, 2);\r\n      } catch (err) {\r\n        output.textContent = \"\u26a0\ufe0f Error: \" + err.message;\r\n      }\r\n    });\r\n  });\r\n<\/script>\r\n\n\n\n\n<p><a href=\"https:\/\/ingenio.vip\/wp-admin\/admin.php?page=ingenio-tools-xml-to-json-converter\"><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>XML to JSON Converter Paste XML Here: Convert to JSON Result:<\/p>\n<\/p><div class=\"more-link\"><a href=\"https:\/\/ingenio.vip\/zh\/tools-pages\/xml-to-json-converter\/\" class=\"btn btn-small btn--dark btn-hover-shadow\"><span class=\"text\">Continue Reading<\/span><i class=\"seoicon-right-arrow\"><\/i><\/a><\/div>","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"elementor_header_footer","meta":{"_acf_changed":false,"googlesitekit_rrm_CAowrpbbCw:productID":"","footnotes":""},"tools-categories":[],"class_list":["post-4529","tools-pages","type-tools-pages","status-publish","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/tools-pages\/4529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/tools-pages"}],"about":[{"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/types\/tools-pages"}],"author":[{"embeddable":true,"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/tools-pages\/4529\/revisions"}],"predecessor-version":[{"id":4530,"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/tools-pages\/4529\/revisions\/4530"}],"wp:attachment":[{"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/media?parent=4529"}],"wp:term":[{"taxonomy":"tools-categories","embeddable":true,"href":"https:\/\/ingenio.vip\/zh\/wp-json\/wp\/v2\/tools-categories?post=4529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}