如何将PHP变量转换为XML

时间:2016-08-28 06:43:58

标签: php xml

我正在尝试为MWS做一些Feed提交。

我有一个需要拨打电话的数据库。

dbCall函数和$ sql是从客户数据库调用变量的sql。

$var =  dbCall($sql);
for ($x = 0; $x < 1; $x++ )
{
feed[] = "<Message>
            <MessageID>".$messageID."</MessageID>
                    <OperationType>Update</OperationType>
                    <Product>
                        <SKU>book_".$var[$x]."</SKU>
                        <StandardProductID>
                            <Type>ASIN</Type>
                            <Value>".$var[$x]."</Value>
                        </StandardProductID>
                        <Condition>
                            <ConditionType>New</ConditionType>
                            <ConditionNote>Brand New! Never used!</ConditionNote>
                        </Condition>
                    </Product>
                </Message>";


            $messageID = $messageID + 1;


            }

            $total_feed =  implode(" ", $feed);

            $final_feed = '<?xml version="1.0" encoding="utf-8"?>
                <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd">
                <Header>
                    <DocumentVersion>1.01</DocumentVersion>
                    <MerchantIdentifier>'.$merch_id.'</MerchantIdentifier>
                </Header>
                <MessageType>Product</MessageType>
                <PurgeAndReplace>false</PurgeAndReplace>' .$total_feed.'</AmazonEnvelope>');

`

当我跑这个;我收到了字符串,但有些标签没有正确对齐(请参阅SKU和值)。

results

如何从数据库变量中获取XML输出?

编辑: 当我打印implode(“”,$ feed)的输出时 - 我的所有标签看起来都是小写的,但如果我使用htmlspecialchars或htmlentities,我会以正确的格式获取它们。

<message> instead of <Message>

1 个答案:

答案 0 :(得分:0)

使用trim正确调整了xml。

相关问题