色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

json怎么解析xml

高雨晴1年前6瀏覽0評論

JSON和XML都是目前廣泛使用的數據交換格式。在許多應用程序中,我們需要將XML轉換為JSON。本文將介紹如何使用JavaScript解析XML并將其轉換為JSON。

// 假設我們有以下這個XML字符串
var xmlString = "<bookstore><book><title>Harry Potter</title><author>J.K. Rowling</author><year>2005</year></book><book><title>Lord of the Rings</title><author>J.R.R. Tolkien</author><year>1954</year></book></bookstore>";
// 創建DOM解析器解析XML
var parser = new DOMParser();
var xml = parser.parseFromString(xmlString, "text/xml");
// 定義轉換函數,將XML節點轉換為JSON對象
function xmlToJson(xml) {
var obj = {};
if (xml.nodeType == 1) { // element
if (xml.attributes.length > 0) {
obj["@attributes"] = {};
for (var i = 0; i < xml.attributes.length; i++) {
var attribute = xml.attributes.item(i);
obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
}
}
} else if (xml.nodeType == 3) { // text
obj = xml.nodeValue.trim();
}
if (xml.hasChildNodes()) {
for (var i = 0; i < xml.childNodes.length; i++) {
var item = xml.childNodes.item(i);
var nodeName = item.nodeName;
if (nodeName == "#text") {
continue;
}
if (typeof(obj[nodeName]) == "undefined") {
obj[nodeName] = xmlToJson(item);
} else {
if (typeof(obj[nodeName].push) == "undefined") {
var old = obj[nodeName];
obj[nodeName] = [];
obj[nodeName].push(old);
}
obj[nodeName].push(xmlToJson(item));
}
}
}
return obj;
}
// 解析XML并將其轉換為JSON
var json = xmlToJson(xml);
// 輸出JSON
console.log(json);

使用以上代碼,我們可以將XML字符串轉換為相應的JSON對象。我們可以在JavaScript應用程序中對JSON對象進行操作和訪問。