>  기사  >  웹 프론트엔드  >  js code_javascript 기술을 구현하기 위한 firefo xml 읽기 및 쓰기

js code_javascript 기술을 구현하기 위한 firefo xml 읽기 및 쓰기

WBOY
WBOY원래의
2016-05-16 18:51:301341검색
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 헤더를 추가해야 합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.