2008-12-19 11 views
0

어쨌든 XML 문서의 XML 문서의 내용 유형을 변경해야합니까?어쨌든 XML 문서의 XML 문서의 내용 유형을 변경 하시겠습니까?

HTML을 다시 전달하는 정말 오래된 시스템으로 작업하고 있습니다. 그리고 XML을 반환하려고합니다. XMLHttpRequest에서 가져 오는 중이며 netcat을 사용하여 내용 유형 헤더를 다시 전달하지 않는 것으로 나타났습니다.

XMLHttpRequest.responseXML을 수신하면 responseText가 있지만 responseXML은 null입니다.

XML 형식이 올바른지 확인하기 위해 XML을 이미 확인했으며 (매우 짧은 문서 임) 나타납니다.

+0

콘텐츠 유형이란 무엇입니까? MIME, DTD, XSchema 등 무엇입니까? –

+0

http-headers, content-type : text/xml 또는 application/xml – leeand00

답변

1

번호 (사용자의 의견에있는) Content-Type은 HTTP 헤더의 일부입니다.

그리고 HTTP는 단지 XML 문서를위한 운송 수단입니다. 페이로드이며 HTTP 헤더에 대해 아무 것도 모르기 때문에 변경할 수 없습니다.

아마도 "XML에 <meta http-equiv="...에 해당하는 것이 있습니까? 아니요, HTML은 HTTP 헤더를 변경할 수 없으며 사용자 에이전트가 다르게 동작 할 수 있습니다. HTML 파일이 디스크에 저장되었으며로드 할 때 사용자 에이전트에 헤더를 사용할 수 없습니다.

XML에서 필요한 모든 정보는 파일 상단의 처리 명령 (<?xml version="1.0" encoding="UTF-8"?>)에 있습니다. 올바르게로드/표시해야합니다.

0

UA 그러한 태그를 얻을 수 있다면, 이미 구문 분석 할 문서의 종류를 결정해야합니다.

function createDOMFromString(sXml){ 

    var browser = navigator.appName; 
    var oXmlDom = null; 

    // IE Implementation... 
    if(browser == "Microsoft Internet Explorer") { 
     oXmlDom=new ActiveXObject("Microsoft.XMLDOM"); 
     oXmlDom.async="false"; 
     oXmlDom.loadXML(sXml); 
    } 
    // FF Implementation... 
    else { 
     var oParser = new DOMParser(); 
     oXmlDom = oParser.parseFromString(sXml, "text/xml"); 
    } 
    // TODO: If we need it Safari implementation. 

    return oXmlDom; 
} 

건배 :

0

나는 그것이 xhr.responseText 문자열을 복용하고 그것에서 XML 문서를 생성의 문제, 그것을 알아 냈어!

+0

안녕하세요. 내 대답을 확인할 수 없습니다 ... 성공한 것입니다! – leeand00

+0

아무도 자신의 답을 확인할 수 없습니다 (또는 모두에게). 솔직히 질문을 처음부터 더 명확하게 질문해서는 안됩니까? 귀하의 편집은 모든 차이를 만들었습니다. 질문은 원래 상태에서 이해하기 힘들었습니다. 독자들에게 환상적인 힘이 있기를 기대하지 마십시오. – Tomalak