2012-02-06 3 views
0

나는 process.I 동안 "&"같은 5 개의 특수 문자를 얻을 수있는 XML 파일을 가지고 이러한 XML을 jQuery ajax 메서드를 사용하여 xml 파일에서 데이터를 얻으려면 구문 분석하는 동안 오류를 throw합니다 알아요. 특수 문자를 바꾸는 것과 같은 자바 스크립트에서이 파서 오류를 극복하는 방법이 있습니까?jQuery를 사용하여 XML 파일에서 "&"를 이스케이프 또는 바꾸는 방법은 무엇입니까?

+0

http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery가 답을 갖고있는 것 같습니다. – deltree

+1

서버가 잘못된 형식의 XML을 반환하고있다는 것을 말하고 있습니까? 그렇다면 서버에서 수정해야합니다. 그렇지 않다면, 나는 질문을 이해하지 못한다. –

+0

@DMoses이 말은 너무 바보 같아서 나는 이런 종류의 질문을하지 말아야한다. 서버는 notpad에서 잘못된 XML, 즉 사용자 입력을 리턴하지 않는다. 자바 스크립트에서 잘못된 형식의 XML을 고칠 수 있습니까? 대답은 '아니오'가 될 것입니다. 솔루션이 있는지 확인하고 싶습니다. – manraj82

답변

2

간단히 말해, XML을 문자열로 가정하면 (예를 들어 jQuery가 정확하게 호출하면). 그런 다음 다음을 수행 할 수 있습니다.

xmlstr = xmlstr.replace(/&/g, "&"); 

대체 할 문자.

<foo> &gt;bar&lt; hi & bye &gt;/bar&lt; 

지금, 그들은 가능성이 의미 :

+0

. 고맙습니다! –

1

의이 사용자 입력을 가정 해 봅시다

<foo> &gt;bar&lt; hi &amp; bye &gt;/bar&lt; </foo> 

에게 그러나 그들은 의미 할 수 :

<foo> &amp;gt;bar&amp;lt; hi &amp; bye &amp;gt;/bar&amp;lt; </foo> 

당신은 청소하고 소독 닫히지 않은 태그를 닫고 &을 이스케이프 처리하여 잘 구성된 XML이어야하는 텍스트 나는 당신을 위해 이것을 할 자바 스크립트 라이브러리에 익숙하지 않다.

+0

그게 좋은 지적이야. – Mala

0
XMLText = XMLText.Replace("&", "&amp;"); 
XMLText = XMLText.Replace("""", "&quot;"); 
XMLText = XMLText.Replace("'", "&apos;"); 
XMLText = XMLText.Replace("<", "&lt;"); 
XMLText = XMLText.Replace(">", "&gt;"); 
return XMLText; 
관련 문제