web-dev-qa-db-ja.com

uRLからXMLを解析する(SOAP経由)

私はW3 Validatorを使ってサイトのRSSフィードの検証チェックを実行するダッシュボードウィジェットを構築しようとしています。それらのAPIドキュメント(http://feed2.w3.org/docs/soap.html)がメソッドを提供します。これがデータを取得するための私の関数です。

    $feed       = 'http://domain.com/feed/';
    $request    = new WP_Http;
    $url        = 'http://validator.w3.org/feed/check.cgi?url='.urlencode($feed).'&output=soap12';
    $response   = wp_remote_get ( $url );


    if( is_wp_error( $response ) ) {
        echo '<p>Sorry, there was an error with your request.</p>';
    } else {
        $feed_data  = $response['body'];
    }

これが戻りです: http://pastie.org/4397488

私の人生のために、私はそのXMLを正しく解析するようには思えない。私が使用すべきサードパーティのライブラリはありますか、それともこれを処理するネイティブのWP関数がありますか。

3
Norcross

WordPressの多くの場所で xml_parse が使われています。これにはAtomライブラリ、私たちが使っているXML-RPCライブラリ、そしてSimplePieが含まれます。

埋め込みクラスは SimpleXML を使用します。

WordPressインポーターとJetpackは実際には両方を使用します(Jetpackは別の目的で使用され、インポーターはSimpleXMLを使用しようとし、存在しない場合はフォールバックします)。

基本的に、WordPressには何も組み込まれていません。PHPに組み込まれているものを使用するだけです。私は、XMLが大きくなりすぎないようにする限り、SimpleXMLを個人的に好み(そして使用する)、単純にXML文字列全体を渡して作業できるオブジェクトを取得できるからです。

5