如何正确构建此XML文档。该文档将嵌入到PHP脚本中,并将订单发送到服务器上的文件夹。
另外,你能看一下产品的FOR EACH循环吗?
感谢您的帮助!
(Variables from order form)
$order_id = '1234';
$product_id = '5678';
$prodduct_sku = '0123';
$product_retail = '123.45';
define("FILENAME", "orders/order" . $order_id . ".xml");
$xml_output = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
$xml_output .= "<document type="850X-02" timestamp= $timestamp id="123456789>";
$xml_output .= "<order id=" . $order_id .>";
for ($x=0; $x<=100; $x++)
{
$xml_output .= "<line id=" . $x . "quantity=" . $quantity . />";
$xml_output .= "<product id=" . $product_id . "supplier_sku=" . $product_sku . "retail_price=" . $product_retail . />";
}
$xml_output .= "</document>';
// CONVERT THE ARRAY TO A STRING
$str = implode($xml_output);
// WRITE IT INTO THE FILE SYSTEM
file_put_contents(FILENAME, $str);
答案 0 :(得分:0)
您不会关闭订单标签。在行循环后的某处添加</order>
。
除此之外,您可以考虑使用提供强大的xml格式和验证的IDE,或者您可以使用基于Web的xml验证程序来验证您创建的xml是否有效。
测试xml生成代码的另一个技巧是获取目标系统的有效xml示例,然后优化代码,直到您可以生成该示例文本。使用文件差异工具,您可以快速识别缺少标签,元素而不是属性或其他常见错误等内容。