2009-07-30 6 views
1

이것은 매우 간단한 문제이지만 해결책을 찾을 수 없습니다. 그 페이지에 숨겨진 div에 일부 XML을 쓰고 나중에 읽습니다. 사업부에 작성하고,이 때문에 나는 XML따옴표 제거 추가

<parameters id='XXX'> 
<product_id value='YYY'/> 
<report_id value='ZZZ'/> 
<list> 
    <filter_id value='AAA'/> 
</list> 
<date_begin value='BBB'/> 
<date_end value='CCC'/> 
<timeframe_id value='DDD'/> 
<chart_id value='EEE'/> 

에게 LoadXML

을이되어 사용 IE에서 사용을 XML을로드 할 수 없습니다 때 문제가 일부 인용 부호가 제거되고 있다는 점이다 다른 방법을 많이 사용했지만 아무 것도 작동하지 않는 것으로 보입니다. Jquery를 가능한 한 많이 사용하여 크로스 브라우저 문제를 방지하려고합니다. 그러나 모든 솔루션이이를 수행 할 것입니다.

나는

var parametersDiv = "<div id='" + reportDivId + "_params' style='visibility: hidden; display: none'>" + paramString + "</div>"; 

를 사용하여 위의 문자열 변수에있는 paramString에, XML을 추가하고 그것을 잘 간다.

그러나 내가 검색하려고하면 XXX 주위의 따옴표가 IE에서 제거됩니다. 따라서 loadXML()을 사용하여로드 할 수 없습니다. 솔루션을 해킹 할 수는 있지만 제대로하고 싶습니다.

모든 솔루션이 도움이 될 것입니다. 나는 이미 거의 하루를 낭비했습니다.

감사

JD

답변

1

따옴표를 사용하여 시도하고 그 일을 않는 경우를 참조하십시오.

그렇지 않은 경우, XML trough에 XMLHttpRequest (Ajax)를 사용하는 것이 문제의 또 다른 해결책 일 수 있습니다.

jQuery.ajax({ 
    url: 'yourUrlThatReturnsXML', 
    dataType: 'xml', 
    success: function (data, textStatus) { 
    $(data); // Your XML 
    } 
}); 
+0

큰 따옴표는 오류가있는 첫 번째 매개 변수 일 뿐이므로 확실하지 않습니다. 무슨 일이 일어나고있는 건 아약스를 통해 큰 XML 요청이 되돌아 오는 것입니다. 그 XML을 구문 분석하고 페이지 주위에 숨겨진 div에 특정 섹션을 배치하므로 다음 번에 저장된 값을 다시 피킹 할 수 있도록 요청할 수 있습니다. – John

+0

XML을 변수로 개체로 저장해보십시오. var globalXML = $ (data); –

+0

unforunately 페이지가 완전히 동적이며 javascript에서 동적 변수 이름을 가질 수 있는지 확실하지 않습니다. 그러나 해시 테이블을 만들고 XML 값과 함께 이름을 저장할 수 있습니다. 나는 그것을 시도 할 것이다. – John

0

페이지에 숨겨진 div를 어떻게 삽입 하시겠습니까? 아마 당신은 innerHTML을 사용하고 있습니다 (주어진 문자열이 있음). 그러나 이것은 IE의 HTML 파서를 통해 전달되고 있음을 의미합니다. 이것은 HTML로 바뀌고 HTML을 검색하려고하면 속성의 인용 부호가없는 효과 (그리고 발생하지 않은 다른 부작용)가 나타납니다.

가장 좋은 방법은 반환 된 XML 문서에 대한 참조 (변수의 문자열 직렬화가 아닌)를 변수에 저장하는 것입니다.

+0

네, 해결책을 제공해 주셔서 감사합니다. – John