web-dev-qa-db-fra.com

analyser le XML de l'URL (via SOAP)

J'essaie de créer un widget de tableau de bord qui effectuera une vérification de validation sur un flux RSS de site à l'aide du validateur W3. Leurs documents API (http://feed2.w3.org/docs/soap.html) fournissent la méthode. Voici ma fonction pour obtenir les données:

    $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'];
    }

Voici le retour: http://pastie.org/4397488

Pour ma vie, je n'arrive pas à analyser correctement ce XML. Y a-t-il une bibliothèque tierce que je devrais utiliser ou y a-t-il une fonction native WP qui gérera cela?

3
Norcross

De nombreux endroits dans WordPress utilisent xml_parse , y compris la bibliothèque Atom, la bibliothèque XML-RPC que nous utilisons et SimplePie

La classe oembed utilise SimpleXML .

WordPress Importer et Jetpack utilisent en réalité les deux (Jetpack pour différentes choses, et l'importateur essaie d'utiliser SimpleXML et se replie s'il n'existe pas).

En gros, WordPress ne contient rien, il utilise simplement ce qui est construit en PHP. Personnellement, j'aime (et utilise) SimpleXML tant que le XML ne va pas être trop gros (je veux dire très gros), simplement parce que vous pouvez simplement lui passer toute la chaîne XML et récupérer un objet avec lequel vous pouvez travailler.

5
Aaron D. Campbell