如何使用变量正确构造此xml?

时间:2014-02-07 19:15:35

标签: php xml

如何正确构建此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);  

1 个答案:

答案 0 :(得分:0)

您不会关闭订单标签。在行循环后的某处添加</order>

除此之外,您可以考虑使用提供强大的xml格式和验证的IDE,或者您可以使用基于Web的xml验证程序来验证您创建的xml是否有效。

测试xml生成代码的另一个技巧是获取目标系统的有效xml示例,然后优化代码,直到您可以生成该示例文本。使用文件差异工具,您可以快速识别缺少标签,元素而不是属性或其他常见错误等内容。