parse XML from URL (via SOAP)

时间:2012-08-06 作者:Norcross

我正在尝试构建一个仪表板小部件,它将使用W3验证器在站点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函数可以处理此问题?

1 个回复
最合适的回答,由SO网友:Aaron D. Campbell 整理而成

WordPress使用中的许多地方xml_parse 包括Atom库、我们使用的XML-RPC库和SimplePie

oembed类使用SimpleXML.

WordPress导入器和Jetpack实际上都使用这两种方法(Jetpack用于不同的东西,导入器尝试使用SimpleXML,如果它不存在,则返回)。

基本上,WordPress中没有内置内容,它只使用PHP中内置的内容。我个人喜欢(并使用)SimpleXML,只要XML不会太大(我的意思是真的太大),因为您可以简单地将整个XML字符串传递给它,然后返回可以使用的对象。

结束

相关推荐

覆盖插件中的默认XMLRPC函数

我想覆盖“metaWeblog.newMediaObject”xmlrpc调用,以便远程保存文件。来自wp xmlrpc server类中的mw\\u newMediaObject。php,我看到有一个钩子:do_action(\'xmlrpc_call\', \'metaWeblog.newMediaObject\'); 因此,我应该能够在插件中执行以下操作:add_action (\'xmlrpc_call\', \'myWewMediaObject\'); function myW