programing

WordPress에서 wp_remote_get을 사용하여 XML 작업

lastmoon 2023. 7. 6. 22:29
반응형

WordPress에서 wp_remote_get을 사용하여 XML 작업

제가 정말 기본적이고 명백한 것을 놓치고 있는 것 같아요, 그러니 미리 사과드립니다!

내가 사용하던simple_xml_loadXML 파일로 작업하지만 클라이언트의 호스팅 공급자가 이 방법을 통해 외부 파일 로드를 차단합니다.지금 사용하여 작업을 재구성하려고 합니다.wp_remote_getWordPress에 내장된 함수입니다.

다음은 내 코드입니다(참고: 키와 수용 시설 ID는 이 예에서 일반적입니다).

$url = "http://api.petfinder.com/shelter.getPets?key=1234&count=20&id=abcd&status=A&output=full";
$pf_xml = wp_remote_get( $url );
$xml = wp_remote_retrieve_body($pf_xml);

이를 사용하여 필요한 모든 데이터의 배열을 검색할 수는 있지만 특정 데이터를 대상으로 하는 방법은 알 수 없습니다.다음은 에서 나온 결과입니다.print_r($xml):

<petfinder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.petfinder.com/schemas/0.9/petfinder.xsd">
    <header>
        <version>0.1</version>
        <timestamp>2013-03-09T15:03:46Z</timestamp>
        <status>
        <code>100</code>
        <message/>
        </status>
    </header>
    <lastOffset>5</lastOffset>
    <pets>
        <pet>
            <id>13019537</id>
            <name>Jordy</name>
            <animal>Dog</animal>
        </pet>
        <pet>
            <id>13019888</id>
            <name>Tom</name>
            <animal>Dog</animal>
        </pet>
    </pets>
</petfinder>

내가 원한다면,echo예를 들어, 상태 코드는 어떻게 해야 합니까?simplexml을 사용해서, 나는 쓸 것입니다.$xml->header->status->code다음을 사용하여 배열과 유사한 작업을 수행하는 코드 구조가 무엇인지 알 수 없습니다.wp_remote_get.

잘 부탁드립니다!

지금까지의 코드는 XML을 문자열로 검색합니다.

$url      = "http://api.petfinder.com/shelter.getPets?key=1234&count=20&id=abcd&status=A&output=full";
$response = wp_remote_get($url);
$body     = wp_remote_retrieve_body($response);

URL 대신 문자열을 로드하려면 다음과 같이 하십시오.SimpleXMLElement이전에 (구체적인 코드를 보여주지 않았기 때문에 설명에 따라 이러한 방식으로 했다고 가정함)에서 했던 것처럼 이제 문자열을 대신 로드해야 합니다.

$xml  = simplexml_load_string($body);
$code = $xml->header->status->code;

나는 당신의 변수 이름을 약간 변경했습니다.wp_remote_*함수)를 사용하여 이러한 변수가 전달하는 내용을 보다 명확하게 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/15312554/using-wp-remote-get-to-work-with-xml-in-wordpress

반응형