-1

我不是 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 脚本是什么?

谢谢!!

4

2 回答 2

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 语法

如果您必须在变量前面加上var,那么您可能使用的是相当旧的 PHP 版本,然后我的一些评论可能不适用。如果是这种情况,请更新您的 PHP 安装,或者返回这里使用您正在运行的 PHP 版本。

于 2013-03-15T13:46:05.260 回答
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 表。

于 2013-03-15T14:06:38.880 回答