Das Beispiel in diesem Artikel beschreibt, wie JavaScript XML in JSON konvertiert. Teilen Sie es als Referenz mit allen. Die spezifische Methode ist wie folgt:
1. Der JavaScript-Code lautet wie folgt:
// Ändert XML in JSON
Funktion xmlToJson(xml) {
// Erstelle das Rückgabeobjekt
var obj = {};
If (xml.nodeType == 1) { // element
// Attribute machen
If (xml.attributes.length > 0) {
obj["@attributes"] = {};
for (var j = 0; j < xml.attributes.length; j ) {
var attribute = xml.attributes.item(j);
obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
}
}
} else if (xml.nodeType == 3) { // text
obj = xml.nodeValue;
}
// Kinder machen
If (xml.hasChildNodes()) {
for(var i = 0; i < xml.childNodes.length; i ) {
var item = xml.childNodes.item(i);
var nodeName = item.nodeName;
If (typeof(obj[nodeName]) == "undefiniert") {
obj[nodeName] = xmlToJson(item);
} sonst {
If (typeof(obj[nodeName].length) == "undefiniert") {
var old = obj[nodeName];
obj[nodeName] = [];
obj[nodeName].push(old);
}
obj[nodeName].push(xmlToJson(item));
}
}
}
Rückgabe obj;
};
2. XML-Code:
3. JSON-Ergebnis:
{
„@attributes“: {
AID: "=",
ZUHAUSE: 0,
URL: „davidwalsh.name/“,
VER: „0,9“,
},
SD = [
{
„@attributes“: {
FLAGGEN: "",
HOST: „davidwalsh.name“,
TITEL: A
},
LINKSIN: {
„@attributes“: {
NUM: 1102
}
},
GESCHWINDIGKEIT: {
„@attributes“: {
PCT: 51,
TEXT: 1421
}
},
TITEL: {
„@attributes“: {
TEXT: „David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools und alles andere“,
}
},
},
{
BELIEBTHEIT: {
„@attributes“: {
TEXT: 7131,
URL: „davidwalsh.name/“
}
},
RANG: {
„@attributes“: {
DELTA: „-1648“
}
},
REICHWEITE: {
„@attributes“: {
RANG = 5952
}
}
}
]
}
关于js操作xml感兴趣的朋友还可参考在线工具:
在线XML/JSON互相转换工具
在线XML格式化/压缩工具
希望本文所述对大家的javascript程序设计有所帮助.
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn