很抱歉再次发帖。我正在使用consoilibytes quickbooks-phpapi来开发用于quickbooks集成的应用程序。我已经写了一个代码,用于获取接收付款响应xml&解析它的值以保存在我的mysqldb中。我已经写了一些代码,但它给出的错误类似于无效的xml。请帮忙。。。
下面的代码是从quickbooks数据库中检索记录的一个工作示例。
function _quickbooks_receivepayment_query_response($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $xml, $idents)
{
$errnum = 0;
$errmsg = '';
$Parser = new QuickBooks_XML_Parser($xml);
if ($Doc = $Parser->parse($errnum, $errmsg))
{
$Root = $Doc->getRoot();
$List = $Root->getChildAt('QBXML/QBXMLMsgsRs/ReceivePaymentQueryRs');
foreach ($List->children() as $ReceivePayment)
{
$TxnID=$ReceivePayment->getChildDataAt('ReceivePaymentRet TxnID');
$TimeCreated= $ReceivePayment->getChildDataAt('ReceivePaymentRet TimeCreated');
$TimeModified=$ReceivePayment->getChildDataAt('ReceivePaymentRet TimeModified');
$EditSequence=$ReceivePayment->getChildDataAt('ReceivePaymentRet EditSequence');
$TxnNumber=$ReceivePayment->getChildDataAt('ReceivePaymentRet TxnNumber');
$CustomerRefListID=$ReceivePayment->getChildDataAt('ReceivePaymentRet CustomerRef ListID');
$CustomerRefFullName=$ReceivePayment->getChildDataAt('ReceivePaymentRet CustomerRef FullName');
$ARAccountRefListID=$ReceivePayment->getChildDataAt('ReceivePaymentRet ARAccountRef ListID');
$ARAccountRefFullName=$ReceivePayment->getChildDataAt('ReceivePaymentRet ARAccountRef FullName');
$TxnDate=$ReceivePayment->getChildDataAt('ReceivePaymentRet TxnDate');
$TxnDateMacro=$ReceivePayment->getChildDataAt('ReceivePaymentRet TxnDateMacro');
$RefNumber=$ReceivePayment->getChildDataAt('ReceivePaymentRet RefNumber');
$TotalAmount=$ReceivePayment->getChildDataAt('ReceivePaymentRet TotalAmount');
$PaymentMethodRefListID=$ReceivePayment->getChildDataAt('ReceivePaymentRet PaymentMethodRef ListID');
$PaymentMethodRefFullName=$ReceivePayment->getChildDataAt('ReceivePaymentRet PaymentMethodRef FullName');
$Memo=$ReceivePayment->getChildDataAt('ReceivePaymentRet Memo');
$DepositToAccountRefListID=$ReceivePayment->getChildDataAt('ReceivePaymentRet DepositToAccountRef ListID');
$DepositToAccountRefFullName=$ReceivePayment->getChildDataAt('ReceivePaymentRet DepositToAccountRef FullName');
}
}
return true;
}