완전... 삽질 그자체... 2일동안 이것만 했는데 결국은... 읽기는 되는데 쓰기가 안됨

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>Cugain’s Home</title>
<meta http-equiv=Content-Type content=text/html; charset=EUC-KR>
<link rel="StyleSheet" HREF="./cugain_css/default_style.css" type="text/css" title="style">
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" bgcolor="white">

<SCRIPT LANGUAGE="JavaScript">
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
xmlLoadMain();

/******************************************
        Main.
******************************************/
function xmlLoadMain() {
        var song_list = getMusicList("favorite");
        var apply_value = randSort(0, song_list.length);
        var new_song_list = getSortedList(song_list, apply_value);

        var newXmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); //새로운 xml문서 생성
        newXmlDoc.async = false;        
        newXmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
        newXmlDoc.save("./mp3.xml"); //세이브안됨... 아마도 스크립트가 서버에 파일을 생성하는 부분이 막힌듯함
}

/******************************************
        category정보를 받아서 음악리스트를 가져온다.
        return <song> Array
******************************************/
function getMusicList(category) {
        var music_tag_list = null;

        if(xmlDoc) {
                var finded_node = null;
                var index_node_list = xmlDoc.getElementsByTagName("index");
                var attribute_list = null;
                for(index_i=0; index_i<index_node_list.length; index_i++) {
                        attribute_list = index_node_list.item(index_i).attributes;
                        for(attribute_i=0; attribute_i<attribute_list.length; attribute_i++) {
                                if(attribute_list.item(attribute_i).text == category)
                                        finded_node = index_node_list.item(index_i);
                        }        
                }

                if(finded_node) {
                        music_tag_list = finded_node.childNodes;
                        return music_tag_list;
                } else {        alert("해당하는 카테고리가 없습니다.");        }
        } else {        alert("파일을 찾을 수 없습니다.");        }
}

/******************************************
        start_var부터 end_var까지 랜덤정렬된 숫자배열 리턴
        return Array
******************************************/
function randSort(start_var, end_var) {
    var_array = new Array();
        var rand_var = null;
        var looping = false;
        var array_loc = 0;
    for (i = start_var ; i <= end_var ; i++) {
                do {
                        looping = false;
                        rand_var = Math.floor(Math.random()*(end_var+1));

                        if(rand_var < start_var) { // 랜덤값이 시작값보다 작은 경우는 스킵하고 루프
                                looping = true;
                        } else {
                                if(var_array.length <= 0) { //최초 숫자는 그냥 입력 후 다시 루프
                                        var_array[array_loc] = rand_var;
                                        array_loc++;
                                        looping = true;
                                        //alert(rand_var);
                                } else if(var_array.length < (end_var-start_var+1)) {         //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다                        
                                        for (j = 0 ; j < var_array.length ; j++) {
                                                if(var_array[j] == rand_var) { //배열에 이미 있는 숫자일 경우 다시 스킵하고 루프
                                                        looping = true;
                                                }
                                        }
                                }
                        }
                }while(looping);

                if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
                        var_array[array_loc] = rand_var;
                        array_loc++;
                        //alert(rand_var);
                }
        }
        return var_array;
}

/******************************************
        배열과 소트방식을 받아 소팅후 배열로 리턴
        return Array
******************************************/
function getSortedList(list, apply_value) {
        var new_list = new Array();
        for(i=0; i<list.length; i++) {
                new_list[i] = list[apply_value[i]];
        }
        return new_list;
}
</SCRIPT>

</body>
</html>
번호 제목 글쓴이 날짜 조회 수
246 [Gemini] ajax 와 fetch 의 차이 황제낙엽 2025.01.04 3419
245 [검토 완료] 디바이스 카메라로 촬영한 사진을 서버에 업로드하기 샘플 황제낙엽 2024.11.21 3987
244 브라우저에서 이미지를 편집(crop 등) 할 수 있는 오픈소스 Cropper.js 황제낙엽 2024.11.16 3842
243 [ChatGPT] json data 의 정렬 [1] 황제낙엽 2024.07.23 3352
242 DOMContentLoaded 이벤트와 window.onload 이벤트 황제낙엽 2024.07.15 3669
241 fetch() 사용 예제들 황제낙엽 2024.07.09 3380
240 [Copilot] Vanilla JavaScript에서 외부 스크립트 파일에 정의된 함수들을 로드 황제낙엽 2024.06.21 3758
239 [Copilot] ES6 모듈(module) 문법 황제낙엽 2024.06.21 3805
238 [Copilot] JSON 객체 내부 데이터를 순회하면서 조회하는 코드 황제낙엽 2024.06.02 3270
237 [Copilot] JavaScript로 서버에 특정 값을 POST 방식으로 전달하고 응답을 기다리지 않고 바로 종료 황제낙엽 2024.05.31 3615
236 json 데이터 내의 변수명에 prefix 로 type 표현하기 황제낙엽 2024.04.15 3361
235 fetch() 함수 사용 예제 file 황제낙엽 2023.11.23 3605
234 현재 document 의 host 와 port 를 얻는 방법 황제낙엽 2023.10.03 4209
233 (Bard) FileReader 로 여러개의 파일을 read 하는 법 file 황제낙엽 2023.08.23 3660
232 How to build a file upload service with vanilla JavaScript file 황제낙엽 2023.08.22 3715
231 (Bard) JavaScript로 JSON 배열을 작성하는 방법 황제낙엽 2023.08.21 3672
230 모바일 브라우저에서 file input element 를 이용하여 여러장의 이미지를 서버에 전송하려 할때 [1] 황제낙엽 2023.08.21 3703
229 navigator.mediaDevices 황제낙엽 2023.08.21 3798
228 Barcode Detection API 황제낙엽 2023.08.06 3854
227 정규식을 이용한 이메일 검증 스크립트 file 황제낙엽 2023.06.25 2894