xml 파일을 문자열로 읽어옵니다
1단계: xml 파일을 DOM 구조로 변환
1
var xmlDoc = document.implementation.createDocument("", "test" , null);
xmlDoc.load("d:\develop\bookmarks.xml");
2
var req = new XMLHttpRequest()
req.open("GET", " chrome ://passwdmaker/content/people.xml", false);
req.send(null);
var dom = req.responseXML;
dom은 DOM 구조 객체입니다
2단계: DOM 구조를 xml 문자열로 변환
var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer)
var str = serializeToString(dom );
str은 xml 콘텐츠의 문자열입니다.
2. xml 문자열을 xml 파일에 씁니다.
// str은 xml 문자열입니다.
var parser = new DOMParser( );
var dom = parser.parseFromString(str, "text/xml");
var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces .nsIDOMSerializer);
var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream)
var file = 구성 요소. ["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("d:\develop\myxmlfile.xml");// 유지 위치
foStream.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // 쓰기, 만들기, 자르기
serializer.serializeToStream(dom.documentElement, foStream, "") // 기억하세요, dom은 DOM 트리입니다.
foStream.close();
첨부 파일:
1 DOM 구조 생성
// 문서 객체 생성
var xmldoc = document.implementation.createDocument("","",null );
// xml 파일의 헤더 생성
//
var head = xmldoc.createProcessingInstruction("xml","version="1.0" 인코딩="UTF-8" 독립형=" yes"");
xmldoc.appendChild(head);// ROOT 노드 생성
var nodet = xmldoc.createElement("nodeset")
xmldoc.appendChild(nodest); >//하위 노드 생성
var elem1 = doc.createElement("name");
elem1.textContent = "Zhang San"
nodest.appendChild(elem1)
var elem2 = doc .createElement("name");
elem2.textContent = "lee思";
nodest.appendChild(elem2)
// 생성된 결과는 다음과 같습니다
Zhang SanLi Si 이렇게 생성된 xmlDOM 구조는 직렬화를 통해 xml 문자열로 변환할 때 자동으로 들여쓰기되지 않지만 구문 분석은 가능합니다. XML 객체를 통해. var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer);
// DOMxml 구조를 xml 문자열로 구문 분석합니다.
// XML 객체를 성공적으로 구문 분석하려면 xml 헤더를 제거해야 합니다.
// xml 헤더 제거
var xmlDeclaration = /^
] ?>/
var str = new XML( serializer.serializeToString( xmldoc).replace(xmlDeclaration, '') ).toXMLString(); 하하, 이제 str은 자동으로 들여쓰기할 수 있는 xml 문자열입니다. 그러나 XML을 성공적으로 인코딩하려면 str 앞에 xml 헤더를 추가해야 합니다.