Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环的simplexml属性_Xml_Parsing_Simplexml - Fatal编程技术网

循环的simplexml属性

循环的simplexml属性,xml,parsing,simplexml,Xml,Parsing,Simplexml,我正在尝试在html表中输出xml数据 我如何才能在表中使用foreach循环获得所有属性TITLE、ARTIST,而无需手动编写它们 标题 艺术家 通过这段代码,我获得了xml数据 $xml = new SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml', 0, true); foreach($xml->CD as $cd) { echo '<tr>'; ec

我正在尝试在html表中输出xml数据

我如何才能在表中使用foreach循环获得所有属性TITLE、ARTIST,而无需手动编写它们


标题
艺术家
通过这段代码,我获得了xml数据

    $xml = new SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml', 0, true);

  foreach($xml->CD as $cd)
    {

    echo '<tr>';
    echo '<td>'.$cd->TITLE.'</td>';
    echo '<td>'.$cd->ARTIST.'</td>';
    echo '</tr>';

    }
$xml=新的SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml,0,对);
foreach($xml->CD作为$CD)
{
回声';
回显“.$cd->TITLE.”;
回音“.$cd->艺人”;
回声';
}

如果我理解正确,您希望动态写入标题和内容,为此您需要定义一个根节点(例如,这将是CD)

$xml=新的simplexmlement(“”,0,true)

echo';
回声';
回声';
foreach($xml->CD[0]->children()作为$child)
{
回显“”。$child->getName()。';
}
回声';
回声';
foreach($xml->CD作为$CD){
回声';
foreach($cd->children()作为$child){
回音“.$child.”;
}
回声';
}
回声';

类似这样的内容

您的代码看起来不错,但是我们需要知道xml,以便判断这是否正确,为什么在我的代码中我只获得属性,但我还希望自动获得标签名,如“title”、“artist”fot thead table cd_catalog.xml是什么样子的,标题在那里吗?你可以打开Empire BurlesqueBob Dylanusa Columbia10.901985隐藏你的心形Bonnie Tylerukbs记录9.901988很可能你不是指属性而是元素。请检查正式的XML术语,否则您的问题可能听起来有点离题。
    $xml = new SimpleXMLElement('http://www.w3schools.com/xml/cd_catalog.xml', 0, true);

  foreach($xml->CD as $cd)
    {

    echo '<tr>';
    echo '<td>'.$cd->TITLE.'</td>';
    echo '<td>'.$cd->ARTIST.'</td>';
    echo '</tr>';

    }
echo '<table>';
echo '<thead>';
echo '    <tr>';
foreach ($xml->CD[0]->children() as $child)
{
    echo '<th>'.$child->getName().'</th>';
}
echo '    </tr>';
echo '</thead>';

foreach($xml->CD as $cd) {
    echo '<tr>';
    foreach ($cd->children() as $child) {
      echo '<td>'.$child.'</td>';
    }
    echo '</tr>';

}

echo '</table>';