Reputation: 169
Hello I am trying to extract data from an XML file using SimpleXml but it's not extracting the LA 1
from display-name
tag
This is the 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>
This is my code which I am using to extract the id
attribute from channel
tag :
$epg = simplexml_load_file("epg.xml") or die("Error: Cannot create object");
foreach($epg->channel as $canal) {
echo $canal[id];
}
Upvotes: 1
Views: 374
Reputation: 6388
You can use 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];
Upvotes: 0
Reputation: 57121
As the name of the element you want to display has a -
in it, you will need to output the element using (I cast it to a string just to be pedantic)...
echo (string)$canal->{'display-name'};
Using
$canal->display-name
will be interpreted as $canal->display
minus name
.
Upvotes: 4