2013-08-06 2 views
1

저는 XML로 자바 스크립트를 저장하고 적절한 경우 문서에 넣고 싶습니다. 하지만 xml 파서가 특수 문자 (<,>, ", ') 사이의 모든 텍스트를 제거하는 것으로 보입니다. 그 작업을 중단하도록 할 수있는 방법이 있습니까? 들어가서 코드를 이스케이프 처리하는 것은 실용적이지 않습니다. :검색어로 XML에서 자바 스크립트 저장 및 액세스

$.ajax({ 
type: "GET", 
    url: "/mwebphoto/xml/albums.xml", 
    dataType: "xml", 
    success: function(xml) { 
     $(xml).find('album').each(function(){ 
      var xmlAlbum= $(this) 
      var xmlTitle = $(this).find('title').text(); 
      var xmlEmbedCode = $(this).find('embedCode').text(); 

감사

+0

이것은 매우 이상한 접근 방식과 잠재적으로 안전하지 않은 것으로 들립니다. 이와 같은 대부분의 경우에 전체 소스 코드가 필요하지는 않지만 하나의 항목에서 다음 항목으로 변경되는 소스 코드의 일부 값만이 상상할 수 있습니다. –

답변

0

코드의 구문이 잘못이다. 세미콜론은 xmlAlbum 선언 실종되고 당신이 반복자를 (? 당신이 당신의 질문에 복사 놓치지 않았다) 폐쇄하지 않은

xml에 특수 문자를 저장하려면 올바르게 표현해야합니다.

  • <은 ->&#x3c;
  • > ->&#x3e;
  • & ->&#x26;
  • ' ->&#x27;
  • " - 따옴표가있을 수 있지만 있음>&#x22;

노트 사용 된 v erbatim - 속성 값의 구분 따옴표를 방해하지 않는지 확인하십시오. .. script에 JS 코드를 포함 :

또 다른 옵션은 CDATA 섹션에 잘못된 텍스트 부분을 (<![CDATA[...]]>이 방법은 상기의 인코딩을 사용에서 당신을 해소

당신이 따라 할 수있는 또 다른 방법이

가 포장하는 것 블록은 text/javascript과 다른 MIME 타입을 할당합니다. 블록은 dom에 채택되어 적절한 jquery 셀렉터를 통해 액세스 할 수 있습니다.

주의 : 순수 js로 해당 메소드를 시도하지 않았지만 사용자 에이전트가있을 수 있습니다. 지능형 mime 형식에도 불구하고 코드 실행

관련 문제