현재 사이트의 페이지 콘텐츠를 긁어 내기 위해 다음 YQL 문을 사용하고 있습니다. Where {EncodedURI}
은 내가 긁어 모으고있는 페이지입니다. 예 : http % 3A % 2F % 2Fstackoverflow.comYQL 잘못된 XML을 반환하는 쿼리
SELECT * FROM html WHERE url="{EncodedURI}"
대부분의 URL은 정상적으로 작동합니다. XML은 유효하고 내 응용 프로그램은 계속됩니다. 그러나 일부 URL에서는 잘못된 XML이 반환됩니다. 흥미롭게도이 오류의 원인이 된 URL은 http://en.wikipedia.org/wiki/God입니다. 나는에게 피난처를
error on line 2 at column 6:XML declaration allowed only at the start of the document
그것은 응답의 끝 부분 XML을 보인다 뒤죽박죽지고 있지만 :
나는 쿼리에서 원시 응답을 촬영하고 다음과 같은 오류가있는 XML 유효성 검사기를 통해 넣어 얻을 것 정확한 문제를 파악할 수 없었습니다.
아이디어가 있으십니까?
업데이트 :로부터의 응답의 끝에서 XML을 변경 한
:
</body></results></query>>!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->
<
</body></results></query><!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->
에 나는 비교적 쉽게 내 응용 프로그램을 개선 할 수 있습니다 XML이므로 작동하지만 분명히 그 솔루션은 이상적이지 않습니다. 아무도이 문제를 피하는 방법을 알고 있습니까?
쿼리를 어떻게 실행합니까? – svick
[yql console] (http://developer.yahoo.com/yql/console/#h=SELECT%20*%20FROM%20html%20WHERE%20url%3D%22http%3A//en.wikipedia.org/wiki/God % 22 % 20) 괜찮습니다.하지만 콘솔의 맨 아래에서 REST 쿼리를 복사하면 오류가 발생합니다. – mbaker3
그렇게 할 때 어떤 오류도 발생하지 않습니다. – svick