如何使用来自XML数据的一个字段的值在HTML中创建“表”?

时间:2013-03-15 13:40:37

标签: php html xml

我不是PHP专业人员所以我需要帮助。 我正在使用一些PHP应用程序。 我有一个带有XML数据格式的STRING field1:

$field1='<messages>
  <person id="501">
    <name>Jan</name>
    <surname>Scott</surname>
  </note>
  <person id="502">
    <name>Mark</name>
    <surname>Cruise</surname>
  </person>
</messages>';

我需要输入将包含此外观的field2(HTML类型)表:

NAME   SURNAME

JAN    SCOTT
MARK   CRUISE

php脚本将从第一个字段解析为第二个值的值?

谢谢!

2 个答案:

答案 0 :(得分:1)

查看SimpleXML以轻松遍历XML字符串。然后你可以用

之类的东西简单地构造html输出
$xml = new SimpleXMLElement($field1);

$html = "<table>";
$html .= "<tr><td>NAME</td><td>SURNAME</td></tr>";

foreach($person in $xml->person) {
  $html .= "<tr><td>" . $person->name . "</td><td>" . $person->surname . "</td></tr>";
}

$html .= "</table>";

没有尝试过代码,但基本想法就是这样。如果你想要大写,你可以添加它。

第二...... PHP通常不再将关键字 var 添加到变量中,并且每个变量名都应该以 $ 为前缀。字母也应包含在引号内。 所以只是

$field1 = '<messages><person id="501"><name>Jan</name><surname>Scott</surname></note><person id="502"><name>Mark</name><surname>Cruise</surname></person></messages>';

如果您想拥有多行字符串,请查看HEREDOC syntax

如果您必须在 var 之前添加变量,那么您可能正在使用相当旧版本的PHP,那么我的一些注释可能不适用。如果是这种情况,请更新PHP安装或返回此处运行的PHP版本。

答案 1 :(得分:1)

    <?php
$xmlString = '<messages>
  <person id="501">
    <name>Jan</name>
    <surname>Scott</surname>
  </person>
  <person id="502">
    <name>Mark</name>
    <surname>Cruise</surname>
  </person>
</messages>';


$xml = new SimpleXMLElement($xmlString);
echo "<table border='1' width='50%'>";
echo "<tr>
        <td>Id</td>
        <td>Name</td>
        <td>SurName</td>
    </tr>";
foreach ($xml as $element)
{
    echo "<tr>";
    echo "<td>";
    echo $element["id"];
    echo "</td>";
    foreach ($element as $key => $val)
    {
        echo "<td>";
        echo $val;
        echo "</td>";
    }
    echo "</tr>";
}
echo "</table>";
?>

此代码会将您的xml转换为基本的html表。