IE의 XML 지원은 ActiveX의 MSXML 라이브러리를 기반으로 합니다.
1. DOM 생성
MSXML의 새 버전마다 다른 XML DOM 개체가 생성되므로 새 XML DOM 버전을 선택해 보세요.
2. XML 로드
XML 로드에는 두 가지 유형이 있습니다.
xml 파일 로드: 로드(xml 파일 경로). 기본적으로 파일 로딩은 비동기식으로 변경하려면 비동기 기능을 true로 변경하면 됩니다. ReadyState 및 onreadystatechange 이벤트 핸들러는 파일을 비동기적으로 로드할 때 사용됩니다. ReadyState에는 5개의 가능한 값이 있습니다.
0 - DOM이 어떤 정보도 초기화하지 않았습니다.
1 - DOM이 데이터 로드를 완료했습니다.
3 - DOM을 사용할 수 있지만 일부 부분은 아직 사용 가능하지 않을 수 있습니다.
4——DOM이 완전히 로드되어 사용할 수 있습니다.
3. XML 가져오기
Microsoft는 각 노드에 xml 기능을 추가했기 때문에 XML을 가져오는 것이 매우 편리합니다. 아래 예를 참조하세요.
4. 설명 오류
XML 로딩 중에 발생하는 오류를 처리하기 위해parseError를 사용할 수 있습니다.
parseError 속성은 실제로 다음 속성을 포함하는 개체입니다.
errorCode: 오류 유형 숫자 코드, 오류 없음은 0입니다.
5. 예시 :
var arrSignatures=["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument", "Microsoft.XmlDom"];
for(var i= 0;i
try{
var oXmlDom=new ActiveXObject(arrSignatures[i])
return oXmlDom;
} catch(oError){
}
}
throw new Error("MSXML이 시스템에 설치되지 않았습니다.")
}
var oXmlDom=createXMLDOM() ;
//방법 1: 문자열 로드
oXmlDom.loadXML("")
//오류 처리
if(oXmlDom .parseError != 0){
var oError=oXmlDom .parseError;
alert("오류가 발생했습니다:nError 코드:" oError.errorCode
"nLine:" oError.line "nLine Pos:" oError .linepos
"nReason:" oError.reason);
} else {
var childNodes=oXmlDom.documentElement.childNodes;
console.log(childNodes.length " " childNodes[0].xml );// 1
}
//방법 2: XML 파일 로드
oXmlDom.onreadystatechange = function(){
//문서 로드됨
if(oXmlDom .readyState == 4){
if(oXmlDom .parseError != 0){
var oError=oXmlDom.parseError;
alert("오류가 발생했습니다:n오류 코드:" oError.errorCode
"nLine:" oError.line "nLine Pos:" oError .linepos
"nReason:" oError.reason);
} else {
var childNodes=oXmlDom.documentElement.childNodes; log(childNodes.length " " childNodes[0].xml );// 1
}
}
}
oXmlDom.load("test.xml");
두 가지, Mozilla에서 XML DOM 지원 1. DOM 생성
var oXmlDom=document.implementation.createDocument(""," ",null); 여기서 첫 번째 매개변수는 문서의 네임스페이스 URL, 문서 요소의 태그 이름 및 문서 유형 객체(항상 null입니다. 아직 Mozilla에서는 지원되지 않습니다.)
2. XML 로드
Mozilla는 XML 로드 방법 중 하나인 로드(파일 이름)만 지원합니다.
동기식과 비동기식은 비동기식으로 결정되며 기본값은 비동기식입니다.
XML 문자열인 경우 DOMParser 개체를 사용하여 DOM으로 변환합니다. 사용법은 다음과 같습니다.
Microsoft에서 제공하는 xml 기능은 표준이 아니므로 Mozilla는 XMLSerializer 개체를 지원하지 않습니다.