내가 보기 위해 쓰는 것/Javascript

javascript 에서 xml parsing 하기

do1con 2019. 9. 25. 21:22

제가 I-TALENTED 프로젝트에서 쓴 방법이며 그래서 엉터리 일 수 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* XML 파일 가져오기 */
function regPerson(name, img){
    this.name = name;
    this.img = img;
}
 
function loadData(){
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function(){
        if(this.readyState == 4 && this.status == 200){
            alert('readyState진입 성공');
            listData(this);
        }else{
            alert('실패!');
        }
    }
    xhr.open("get""data/manList.xml"true);
    xhr.send();
}
loadManData();
 
var person = new Array();
function listData(xml){
    alert('listData진입 성공');
    let i = 0;
    let name = 0;
    let img = 0;
    const xmlDoc = xml.responseXML;
    
    for (i = 0; i != xmlDoc.getElementsByTagName('person').length; i++){
        alert('자료를 넣는 중입니다. ' + i + '번째...');
        name = xmlDoc.getElementsByTagName("person")[0].getElementsByTagName('name')[0].innerHTML;
        img = xmlDoc.getElementsByTagName("image")[0].getElementsByTagName('image')[0].innerHTML;
        person[i] = new regPerson(name, img);
        console.log(person[i].name, person[i].img);
        document.querySelector('#tabGrid .maleList')
    }
    let name = xmlDoc.getElementsByTagName("person")[0].find('name').innerHTML = name;
    
    document.getElementById('hithere').innerHTML = name;
}
cs

 

console.log 로 찍어내야할 걸 alert로 찍고 있고 설명도 없는데.. 내일 업데이트