我不是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脚本将从第一个字段解析为第二个值的值?
谢谢!
答案 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表。