迭代SimpleXMLElement数组并打印项目以分离文本文件

时间:2013-09-16 22:03:16

标签: php arrays pdf foreach docusignapi

所以我可能遇到一个简单的问题。我有一个SimpleXMLElement对象数组(PDF数据字节)。我正在尝试迭代我的数组并让代码写出每一块PDF 数据字节到单个文本文件,所以我可以将它们写入单个PDF文件。我的代码如下:

$docfiles = $xml->EnvelopeStatus->EnvelopeID . "/" . $xml->EnvelopeStatus->DocumentStatuses->DocumentStatus->Name . '.txt';
$doctxt = fopen($docfiles,"w");
$docarr = array();
foreach($xml->DocumentPDFs->DocumentPDF as $post){
    foreach ($post->PDFBytes as $docusigntxt) {
        $docarr[] = $docusigntxt;
        foreach ($docarr as $value) {
            fwrite($doctxt,$value);
        }
    }
}
fclose($doctxt);

我做错了什么?任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果您还没有这样做,可能需要查看GitHub上提供的DocuSign SOAP API示例代码:https://github.com/docusign/DocuSign-eSignature-SDK。你想要完成的是非常简单的 - 我想GitHub存储库中的PHP文件夹将包含一个代码片段,向你展示如何实现你的目标。

答案 1 :(得分:0)

这只是了解如何正确深入了解SimpleXML语法的一个案例。这就解决了我的问题。我跳过了创建文本文件并创建了PDF,这就是我想要的:

foreach($xml->DocumentPDFs->DocumentPDF as $value) {
    $binary = base64_decode($value->PDFBytes);
    file_put_contents($xml->EnvelopeStatus->EnvelopeID . "/" . $value->Name, $binary);
}

就是这样。