PhP foreach循环的XML文件

时间:2017-01-13 18:52:27

标签: php html xml

我正试图将其作为变量放在page.php上使用。它将开始将选项加载到选择框中大约5秒钟,我实际上能够看到选项,然后它全部删除,我有一个空的选择框。这是PHP代码:

<?php
$xml = simplexml_load_file("file.xml");
echo '<form method="get" action="page.php"><select name="place" id="place">';
foreach($xml as $banana)
{
    if(isset($banana->id))
    {
        $id = $banana->id;
        $string = $banana->state . " - " . $banana->name;
        echo '<option value="' . $id . '">' . $string . '</option>';

    }
}
echo "</select>";
echo '<input type="submit" /></form>';

?>

我确信我的XML格式正确,但XML文件有2500多个条目,每个条目看起来像这样:

<container>
    <id>theId</id>
    <state>theState</state>
    <name>theName</name>
</container>

任何想法为什么不加载?

注意:某些项目在XML文件中有一个空ID,我不想包含这些文件,这就是我检查以确保它已设置的原因。

1 个答案:

答案 0 :(得分:1)

一些事情

  • 禁用任何javascript并重试 - 有些内容可能会绑定到覆盖选择框或其中元素的ID。
  • 您通常希望在将文本插入HTML文档之前正确转义您提取的文本,以防有<>或其中包含此类文件

尝试以下方法:

   echo '<option value="' . htmlspecialchars($id) . '">' . htmlspecialchars($string) . '</option>';