前提条件:具有用PHP编写的Amazon MWS演示文件。 Amazon以XML响应结果。 我的工具可以与Amazon的输出配合使用,但只能与json一起使用。
需要将Amazon的输出转换为json。
我的脚本的路径:
C:\ xampp \ htdocs \ src \ MarketplaceWebServiceProducts \ Samples \ MyGetASINdetails.php
FluentDom的路径:
C:\ xampp \ htdocs \ src \ src \ FluentDOM.php
我试图以这种方式连接库
include('../../src/FluentDOM.php');
以这种方式从XML转换为Json(在StackOverflow的其他线程中看到):
$dom = new DOMDocument();
$dom->loadXML($response->toXML());
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
// echo $dom->saveXML();
$json = new \FluentDOM\Serializer\Json\RabbitFish($dom->saveXML());
$object = json_decode($json);
echo "<pre>" . print_r( $object, true) . "</pre>";
echo "<script>console.log({$json})</script>";
跑步时得到
致命错误:在第43行的C:\ xampp \ htdocs \ src \ src \ FluentDOM.php中,带有类类型提示的参数的默认值只能为NULL
FluentDOM.php的第43行:
public static function load($source, string $contentType = 'text/xml', array $options = []): \FluentDOM\DOM\Document {
答案 0 :(得分:0)
FluentDOM 7需要PHP> = 7.0。您可以使用旧版本。 FluentDOM 6.2需要PHP> = 5.6
但是FluentDOM是Composer软件包。您确实应该使用Composer将其添加到您的项目中。它将安装兼容版本(如果您定义了该版本),并照顾自动装带器(您当前的错误)。
FluentDOM 5.3是最后一个包含“ _require.php”以支持手动安装的版本。