由于我无法在localhost上安装XML-RPC,我想知道是否有xmlrpc_encode_request()
的替代PHP可以帮助我完成我的任务。
答案 0 :(得分:2)
知道要输出XML的良好结构,您可以尝试使用PHP的XMLWriter
扩展来为您完成工作。
注意页面上的评论:
重要提示:
XMLWriter
需要您提供UTF-8数据。它可以以各种编码输出XML,但输入应严格为UTF-8!
示例使用代码(取自XMLWriter::openMemory
的文档):
header('Content-type: text/xml; charset=UTF-8');
$oXMLWriter = new XMLWriter;
$oXMLWriter->openMemory();
$oXMLWriter->startDocument('1.0', 'UTF-8');
$oXMLWriter->startElement('test');
$oXMLWriter->text('Hello, World!');
$oXMLWriter->endElement();
$oXMLWriter->endDocument();
echo $oXMLWriter->outputMemory(TRUE);
此外,请注意xmlrpc_encode_request()
的使用由个人自己负责,因为该功能是实验性的,可能会发生变化。
答案 1 :(得分:0)
我结束使用PEAR XML_RPC http://pear.php.net/package/XML_RPC 我没有尝试Whisperity方法,因为当他回答时我已经在处理这个问题了。
为了使其正常工作,我刚安装如下:
/Applications/MAMP/bin/php/php5.4.4/bin/pear install XML_RPC
然后我用了:
$content = new XML_RPC_Value(array(
'post_title'=> new XML_RPC_Value($title,'string'),
'post_status'=> new XML_RPC_Value('publish','string'),
'post_excerpt'=> new XML_RPC_Value($title,'string'),
'post_content'=> new XML_RPC_Value($body,'string'),
'mt_allow_comments'=> new XML_RPC_Value(0,'int'),
'mt_allow_pings'=> new XML_RPC_Value(0,'int'),
'post_type'=> new XML_RPC_Value('market','string')
),'struct' );
$params = array(new XML_RPC_Value(0,'int'),new XML_RPC_Value($this->UserName,'string'),new XML_RPC_Value($this->PassWord,'string'),$content,new XML_RPC_Value(true,'boolean'));