How to convert xml to json in javascript
Method to convert xml to json string in javascript: first obtain the XML DOM object through the XML string or request the XML file; then obtain the nodeValue value of the sub-element through traversal and recursion; finally splice out Just a JSON string.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
Use JavaScript to convert XML to JSON
First generate the XML DOM object through the XML string:
/** * 通过传入xml的内容字符串来解析xml * @param xmlString xml字符串 * @returns xml的Document对象 */ function getXmlDocumentByXmlString(xmlString) { var xmlDoc = null; if (window.DOMParser) { var parser = new DOMParser(); xmlDoc = parser.parseFromString(xmlString, "text/xml"); } else { //IE xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(xmlString); } return xmlDoc; }
Or by requesting the XML file Obtain the DOM object of XML:
/** * 通过传入xml文件路径来解析xml文档 * @param xmlFilePath xml文档路径,如:files/test.xml * @returns xml的Document对象 */ function getXmlDocumentByFilePath(xmlFilePath) { //xmlDocument对象 var xmlDoc = null; //xmlhttp对象 var xmlhttp = null; if (window.XMLHttpRequest) { //IE7+, FireFox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { //IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", xmlFilePath, false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; return xmlDoc; }
The next step is the key part. By traversing and recursively obtaining the nodeValue of the sub-element, we can splice out the JSON string and convert the XML into a JSON string:
/** * 将XML的Document对象转换为JSON字符串 * @param xmlDoc xml的Document对象 * @return string */ function convertToJSON(xmlDoc) { //准备JSON字符串和缓存(提升性能) var jsonStr = ""; var buffer = new Array(); buffer.push("{"); //获取xml文档的所有子节点 var nodeList = xmlDoc.childNodes; generate(nodeList); /** * 中间函数,用于递归解析xml文档对象,并附加到json字符串中 * @param node_list xml文档的的nodeList */ function generate(node_list) { for (var i = 0; i < node_list.length; i++) { var curr_node = node_list[i]; //忽略子节点中的换行和空格 if (curr_node.nodeType == 3) { continue; } //如果子节点还包括子节点,则继续进行遍历 if (curr_node.childNodes.length > 1) { buffer.push("\"" + curr_node.nodeName + "\": {"); generate(curr_node.childNodes); } else { var firstChild = curr_node.childNodes[0]; if (firstChild != null) { //nodeValue不为null buffer.push("\"" + curr_node.nodeName + "\":\"" + firstChild.nodeValue + "\""); } else { //nodeValue为null buffer.push("\"" + curr_node.nodeName + "\":\"\""); } } if (i < (node_list.length - 2)) { buffer.push(","); } else { break; } } //添加末尾的"}" buffer.push("}"); } jsonStr = buffer.join(""); return jsonStr; }
Usage: Obtain the XML Document object through getXmLDocumentByFilePath(xmlFilePath)
or getXmlDocumentByXmlString(xmlString)
, and then call convertToJSON(xmlDocument )
Pass in the Ducument object of xml to get the converted JSON string.
Applicable scope: Any XML document that does not contain attributes.
For more programming related knowledge, please visit: Programming Video! !
The above is the detailed content of How to convert xml to json in javascript. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Performance optimization methods for converting PHP arrays to JSON include: using JSON extensions and the json_encode() function; adding the JSON_UNESCAPED_UNICODE option to avoid character escaping; using buffers to improve loop encoding performance; caching JSON encoding results; and considering using a third-party JSON encoding library.

Annotations in the Jackson library control JSON serialization and deserialization: Serialization: @JsonIgnore: Ignore the property @JsonProperty: Specify the name @JsonGetter: Use the get method @JsonSetter: Use the set method Deserialization: @JsonIgnoreProperties: Ignore the property @ JsonProperty: Specify name @JsonCreator: Use constructor @JsonDeserialize: Custom logic

Use PHPXML functions to process XML data: Parse XML data: simplexml_load_file() and simplexml_load_string() load XML files or strings. Access XML data: Use the properties and methods of the SimpleXML object to obtain element names, attribute values, and subelements. Modify XML data: add new elements and attributes using the addChild() and addAttribute() methods. Serialized XML data: The asXML() method converts a SimpleXML object into an XML string. Practical example: parse product feed XML, extract product information, transform and store it into a database.

PHP arrays can be converted to JSON strings through the json_encode() function (for example: $json=json_encode($array);), and conversely, the json_decode() function can be used to convert from JSON to arrays ($array=json_decode($json);) . Other tips include avoiding deep conversions, specifying custom options, and using third-party libraries.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

PHP provides the following functions to process JSON data: Parse JSON data: Use json_decode() to convert a JSON string into a PHP array. Create JSON data: Use json_encode() to convert a PHP array or object into a JSON string. Get specific values of JSON data: Use PHP array functions to access specific values, such as key-value pairs or array elements.

Introduction XML (Extensible Markup Language) is a popular format for storing and transmitting data. Parsing XML in Java is a necessary task for many applications, from data exchange to document processing. To parse XML efficiently, developers can use various Java libraries. This article will compare some of the most popular XML parsing libraries, focusing on their features, functionality, and performance to help developers make an informed choice. DOM (Document Object Model) parsing library JavaXMLDOMAPI: a standard DOM implementation provided by Oracle. It provides an object model that allows developers to access and manipulate XML documents. DocumentBuilderFactoryfactory=D

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.
