2011-04-05 3 views
0

이 파트너의 변수를 잡는 PHP 스크립트가 있습니다. 변수에는 XML 문자열이 있습니다._POST 변수의 XML이 PHP의 simplexml_load_string을 사용할 때 XML로 변환되지 않습니다.

경고 : 그들이 파일을 처리 할 때,이 같은 오류를주고 유지 SimpleXMLElement :: __ 구조() : 법인 : 라인 19 : 파서 ​​오류 : 태그 설명 라인 (19)의 데이터 조기 끝에서 ... then 은 스크립트 경로를 나열합니다.

xml=<Posting> 
<description><![CDATA[<p>this is a test posting.</p> 

Here is some more of the test.]]></description> 
</Posting> 

I 위에서 도시 및 XML 이름으로 동일한 코드 텍스트 영역이 포함 된 테스트 파일을 설정 : 여기

은 전달되는 데이터의 예이다. 제출할 때 스크립트는 정상적으로 작동하고 완료되어야합니다. 파트너의 로그는 'HTTP 원시 요청은 POST'로 시작됩니다. 이것이 어떻게 든 다르다면 확실하지 않지만 더 자세한 내용은 내가 더 나은 가정. 나는 별도의 서버에서도이 작업을 시도했지만 데이터를 보낼 때 모든 테스트 작업을 수행하지만 파트너가 데이터를 보낼 때는 그렇지 않습니다. 난 단지 추측

if ($_POST['xml']) { 
    $xmlstr = stripslashes($_POST['xml']); 
    $xml = simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA); 
} 

답변

0

,하지만 어쩌면 문제는 데이터의 줄 바꿈 함께 : 여기

내가 데이터를 잡는 오전 방법이다. 처리하기 전에 문자열을 한 줄로 축소하려고 시도 했습니까?

+0

나는 그것을 시도 할 수있다. 그러나 그것은 나의 테스트가 매번 일하는 것을 어떻게 설명 할까? – Matt

0

magic_quotes_gpc()가 다른 서버 (phpinfo(); 구성 방법)에 차이가 있습니까? stripslashes()가 있어야만 필요하다면 XML을 깨뜨릴 수 있습니다.

+0

파트너가 데이터를 보낼 때 인용 부호 앞에 슬래시가 있기 때문에 추가되었습니다. – Matt

관련 문제