SimpleXML 객체를 모든 컨텍스트에 대한 문자열로 변환
XML로 작업할 때 PHP에서 SimpleXML 확장을 활용하면 XML 데이터에 편리하게 액세스할 수 있습니다. 그러나 특정 시나리오에서는 컨텍스트에 관계없이 SimpleXML 개체를 문자열로 변환해야 합니다.
예를 들어 다음 XML을 고려하세요.
<channel> <item> <title>This is title 1</title> </item> </channel>
SimpleXML을 사용하여 제목 검색 문자열은 완벽하게 작동합니다.
$xml = simplexml_load_string($xmlstring); echo $xml->channel->item->title;
그러나 제목을 다른 맥락에서 문자열로 처리하려고 하면 어려움이 발생합니다. 배열에 추가할 때처럼:
$foo = array( $xml->channel->item->title );
이 경우 문자열 대신 예상치 못한 SimpleXML 개체가 배열에 추가됩니다. 이 문제를 해결하려면 다음 방법을 고려하십시오.
SimpleXML 객체를 문자열로 타입 캐스팅:
$foo = array( (string) $xml->channel->item->title );
내부적으로 (문자열)을 사용하여 명시적으로 SimpleXML 객체를 문자열로 타입 캐스팅 __toString() 메서드를 호출합니다. SimpleXMLObject 매핑과의 간섭을 피하기 위해 이 메서드는 공개적으로 노출되지 않지만 이 기술을 통해 계속 액세스할 수 있습니다.
위 내용은 PHP에서 SimpleXML 개체를 문자열로 안정적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!