0

我有一个看起来像这样的 xml 字符串,

 <xml>
   <type>name</type>
     <name>
        <namedata>abc</namedata>
        <namedata>efg</namedata>
        <namedata>ijk</namedata>
     </name>
 <xml>

要求: 我需要将 xml 解析为 php 并将其显示在一个表格中,这样它就会像这样显示

   type   namedata   namedata   namedata
   name      abc        efg        ijk

我尝试使用 foreach 执行此操作,但只能获得 namedata 的第一个值。这是我到目前为止所做的:

  $xml = simplexml_load_string($response);
  echo '<table>';
  echo '<tr><td>type'</td></tr>'.$xml->type.'</td><tr>';
  foreach($xml->name as $row){
     echo'<td>'.$row->namedata.'</td>';
    }
   echo'</tr></table>';
4

2 回答 2

0

因为有多个 namdata 节点,您可以将它们作为数组加载,如下所示:

foreach($xml->name->namedata as $row){
    echo'<td>'.$row.'</td>';
}

至于这个“要求”。我发现的最简单的方法是:

$xml = simplexml_load_string($response);
echo '<table border="1">';
echo '<tr><td>type</td>';
for($x=0;$x<count($xml->name->namedata);$x++){
    echo '<td>namedata</td>';
}
echo '</tr><tr><td>'.$xml->type.'</td>';
foreach($xml->name->namedata as $row){
    echo'<td>'.$row.'</td>';
}
echo'</tr></table>';
于 2012-11-21T01:08:56.913 回答
0

尝试使用这个:

$xml = simplexml_load_file($response);
echo '<table>';
echo '<tr><td>type</td></tr>'.$xml->type.'</td></tr>';
  foreach($xml->name->namedata as $row){
     echo '<td>'.$row.'</td>';
  }
  echo '</tr></table>';
于 2012-11-21T01:17:50.303 回答