使用 SimpleXml 从 xml 文件中提取数据

Extracting Data from xml file using SimpleXml

您好,我正在尝试使用 SimpleXmlXML 文件中提取数据,但它没有从 [=14] 中提取 LA 1 =] 标签

这是 XML :

<tv generator-info-name="munich" generator-info-url="http://test.com">
    <channel id="254">
        <display-name lang="es">LA 1</display-name>
    </channel>
</tv>

这是我用来从 channel 标签中提取 id 属性的代码:

 $epg = simplexml_load_file("epg.xml") or die("Error: Cannot create object");
 foreach($epg->channel as $canal) {
     echo $canal[id];
 }

由于您要显示的元素的名称中有一个 -,因此您需要使用(我将其转换为字符串只是为了迂腐)...

echo (string)$canal->{'display-name'};

使用

$canal->display-name

将被解释为 $canal->display 减去 name

您可以使用xml_parser_create

$xml = '<tv generator-info-name="munich" generator-info-url="http://test.com">
   <channel id="254">
    <display-name lang="es">LA 1</display-name>
   </channel>
</tv>';
$xml = new SimpleXMLElement($string);
echo $xml->xpath('//display-name')[0];