使用XML结果无法获得Smarty Foreach

时间:2014-11-26 15:44:09

标签: php xml foreach smarty quickbase

我有一个来自Quickbase的XML,我试图让它变得更聪明。 xml如下所示。是一个孩子,并有多个记录。在Smarty中,我有一个带有xml网址的foreach括号。我似乎无法出现任何东西。没有编译错误。任何帮助赞赏。

MyXML:

<qdbapi>
    <action>API_DoQuery</action>
    <errcode>0</errcode>
    <errtext>No error</errtext>
    <dbinfo>
        <name>Part Details</name>
        <desc/>
    </dbinfo>
    <variables></variables>
    <chdbids></chdbids>
    <record>
        <related_bid>48</related_bid>
        <part_note>This is a note 1</part_note>
        <record_id_>24</record_id_>
        <update_id>1417012758913</update_id>
    </record>
    <record>
        <related_bid>48</related_bid>
        <part_note>This is a note 2</part_note>
        <record_id_>24</record_id_>
        <update_id>1417012758913</update_id>
    </record>
</qdbapi>

我的Smarty:

 {$xml = simplexml_load_file('myquickbasexmlurl')}
     {foreach $xml->qdbapi->record as $detail}
         {$detail->record_id_} - {$detail->part_note}
     {/foreach}

谢谢

1 个答案:

答案 0 :(得分:0)

看起来你正在尝试在smarty中执行php函数,所以你需要把它放在php tags

{php}
    $xml = simplexml_load_file('myquickbasexmlurl')
    foreach ($xml->qdbapi->record as $detail)
    {
        echo $detail->record_id . "-" . $detail->part_note;
    }
{/php}

根据smarty的说法,这不是最佳做法,但有时您可能需要使用它。 否则,您需要使用xml创建一个smarty变量,然后使用smarty处理其余变量。