this feed을 구문 분석하려고했습니다. 해당 링크를 클릭하면 브라우저에서 올바르게 구문 분석 할 수 없다는 것을 알 수 있습니다. (잘못 구성된 XML을 구문 분석 할 수 없습니다.
$dom = new DOMDocument;
$dom->loadXML($rawXML);
if (!$dom) {
echo 'Error while parsing the document';
exit;
}
$xml = simplexml_import_dom($dom);
하지만 얻을 오류 :
어쨌든, 다음이처럼 DOM에 문자열을로드 얻을 컬를 사용하여 내 호스팅 서비스는 나를 simplexml_load_file 사용하지 않습니다, 그래서 봤는데 "DOMDocument :: loadXML (domdocument.loadxml) : 엔티티에 nbsp '엔티티가 정의되지 않았습니다.") 그런 다음 SimpleXMLElement를 사용하여 운이 좋지 않았습니다. "파서 오류 : 엔티티'nbsp '가 정의되지 않았습니다. ... 그 하나의 요소에있는 HTML 때문에).
$xml = new SimpleXMLElement($rawXML);
그래서 내 질문은 내가 나머지 데이터를 분석 할 수 있도록, 어떻게 그 요소를 제거/무시/건너 뛸 수 있습니까?
편집 :! 솔루션에 대한 MJV하는 덕분에 ... 난 그냥
$rawXML = str_replace('<description>','<description><![CDATA[',$rawXML);
$rawXML = str_replace('</description>',']]></description>',$rawXML);
이것은 완벽하게 작동했습니다! 감사!! – Mottie
+ upvote, 내가 전에했던 생각 : –
다행이었습니다. 흥미롭게도 내 반응을 확인하는 데는 어느 정도 시간이 걸렸습니다. 텍스트의 일부 "xml-like"문자를 피해야했기 때문에 SO 응답 메뉴에서 바람직하지 않은 방식으로 처리되지 않도록해야했습니다. ;-) – mjv