PHP의 SimpleXMLElement로 CDATA 처리
SimpleXMLElement를 사용하여 CDATA 섹션이 포함된 XML 문서로 작업할 때, CDATA 태그는 NULL로 반환됩니다. 이로 인해 원하는 데이터에 액세스하고 처리하는 데 어려움이 있을 수 있습니다.
CDATA 콘텐츠 가져오기
CDATA 태그 내에 포함된 콘텐츠를 검색하려면 몇 가지 방법을 사용할 수 있습니다. :
예를 들어 다음 XML 스니펫이 제공되면
<content><![CDATA[Hello, world!]]></content>
CDATA에 액세스할 수 있습니다. 다음 PHP 코드를 사용하는 콘텐츠:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' ); echo (string) $content;
이 결과는 다음과 같습니다.
Hello, world!
대체 접근 방식: LIBXML_NOCDATA
특정 상황에서는 기본 SimpleXMLElement 설정을 사용하여 CDATA 콘텐츠를 검색하는 데 문제가 발생할 수 있습니다. 이 문제를 해결하려면 XML 구문 분석 중에 LIBXML_NOCDATA 플래그를 사용해 볼 수 있습니다.
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA );
이 접근 방식은 XML 구문 분석 동작을 변경하여 CDATA 섹션을 일반 텍스트 노드로 처리하므로 별도의 작업 없이 콘텐츠에 액세스할 수 있습니다. 명시적 캐스팅 또는 직접 출력.
위 내용은 PHP의 SimpleXMLElement를 사용하여 CDATA 콘텐츠를 올바르게 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!