2009-03-02 4 views

답변

0

자바 스크립트에 내장 된 XML 시리얼 라이저/디시리얼라이저에 대해 알지 못합니다. JSON과 같은 자바 스크립트에 고유 한 것으로 간주됩니까?

+0

JSON을 동적으로로드 할 수 있습니까? –

+0

예, JSON을 동적으로로드 할 수 있습니다. http://docs.jquery.com/Ajax/jQuery.getJSON에서 jQuery의 getJSON 메소드를 참조하십시오. – Jason

0

올바른 방향으로 안내 할 수있는 XML to JSON Javascript converter입니다.

+0

링크를 제공해 주셔서 감사합니다. 클래스에서 JSON을로드하려면 어떻게해야합니까? –

6

각 브라우저는 XML이 포함 된 문자열을 구문 분석하는 자체 방식을 제시합니다. 다음은 큰 3 브라우저 각각에 대해 제가 아는 방법입니다. 내가 다양한 블로그와 내 기억에서 함께 자갈을 깐 것처럼 이것들을 시도 할 기회가 없었 음을 기억하십시오.

Firefox에는 문자열의 XML을 구문 분석하는 데 사용할 수있는 DOMParser이라는 개체가 있습니다. API는 매우 간단합니다. DOMParser을 인스턴스화하고 parseFromString 메소드를 호출하십시오. 다음은 예입니다

var xmlString = '<?xml version="1.0"?>...'; 
dom=new ActiveXObject("Microsoft.XMLDOM"); 
dom.async="false"; 
dom.loadXML(xmlString); 
// use dom 

그리고 마지막으로, 이상한 사파리 :

var xmlString = '<?xml version="1.0"?>...'; 
var parser = new DOMParser(); 
var dom = parser.parseFromString(theString, "text/xml"); 
// use dom 

IE 따라서 당신이 DOM 컨트롤을 인스턴스화하고 그것의 방법을 사용해야은 Microsoft 액티브 XMLDOM 컨트롤을 사용, 다시 여기에 예입니다 번역. Safari에는 파서가 내장되어 있지 않으며 Windows에서 실행되지 않으므로 ActiveX 컨트롤을 지원하지 않습니다. 그러나 Safari는 data: URL을 지원합니다. Safari에서는 XMLHTTPRequest를 통해 문서의 URL이 만들어지고 호출됩니다. 모든 XMLHttpRequests와 마찬가지로 XMLHttpRequest의 표준 responseXml 속성을 사용하여 DOM에 액세스합니다.

var xmlString = '<?xml version="1.0"?>...'; 
var url = "data:text/xml;charset=utf-8," + encodeURIComponent(xmlString); 

var xhr = new XMLHttpRequest(); 
xhr.open("GET", url, false); 
xhr.send(null); 

var dom = xhr.responseXML; 
// Use dom here 
+0

사실 Safari는 Windows에서 실행되지만 물론 ActiveX를 사용할 수 없다는 사실은 변하지 않습니다. +1. –

0

이 코드는이를 사용하면 브라우저

var url="file.xml" 
var xmlDoc=""; 
if(window.XMLHttpRequest&&!window.ActiveXObject) 
{ 
    var Gz=new XMLHttpRequest();Gz.open('GET',url,false);Gz.send(null);xmlDoc=Gz.responseXML; 
} 
else 
{ 
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.load(url); 
} 

의 모든 종류의 작동, 당신은 태그를 구문 분석하고 데이터를 검색 할 수 있습니다.

관련 문제