>  기사  >  웹 프론트엔드  >  xml 객체를 Json 객체로 변환하는 JS 작업에 대한 자세한 설명

xml 객체를 Json 객체로 변환하는 JS 작업에 대한 자세한 설명

迷茫
迷茫원래의
2017-03-26 15:04:581505검색

최근 프론트 엔드 기능을 다룰 때 문제가 발생했습니다. 원래 시스템에서는 xml을 사용하여 데이터를 저장했지만 새 시스템에서는 json 객체 저장소로 변환하고 싶어서 직접 고려했습니다. json 객체 저장소로 변환하면 xml 객체가 json 객체로 변환됩니다.

지금까지는 알려진 xml 객체 구조를 기반으로 지속적으로 값을 할당하기 위해 for 루프만 사용할 수 있는 범용 변환 방법을 찾지 못했습니다.

var xml = ······;//获取xml对象
var objList = [];
for(var i = 0;i<xml.childNodes.length;i++){
    var obj = {};
    obj.attribute1 = xml.getAttribute("attribute1");//获取节点属性
    obj.attribute2 = xml.getAttribute("attribute2");
    obj.children = [];
    for(var x=0;x<xml.childNodes[i].childNodes.length;x++){
        var element = xml.childNodes[i].childNodes[x];
        var child = {};
        child.attribute1 = element.getAttribute("attribute1");
        child.attribute2 = element.getAttribute("attribute2");
        obj.children.push(child);
    }
    objList.push(obj);          
}

for 루프는 계속 중첩될 수 있으며 각각의 새로운 json 객체의 속성을 사용자 정의할 수 있지만 getAttribute() 메서드에 필요한 기존 속성을 채워야 합니다.

이 방법이 바보같아서 일단은 이대로 사용하다가 더 좋은 방법이 생각나면 교체를 고려해볼 예정입니다.

위 내용은 xml 객체를 Json 객체로 변환하는 JS 작업에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.