php reading RSS feed cannot read <a10:content type="text/xml"> tag

Viewed 769

I'm trying to read an RSS feed using php. For some reason it cannot read this content tag.

<a10:content type="text/xml">...</a10:content>

This is an example of what an item could look like

<rss version="2.0" xmlns:a10="http://www.w3.org/2005/Atom">
    <channel>
        <title>mMin title</title>
        <description>Some description</description>
        <managingEditor>john.doe@example.com</managingEditor>
        <category>Some category</category>
        <item>
            <guid isPermaLink="false">1</guid>
            <link>https://example.com/1</link>
            <title>Some title 1</title>
            <a10:updated>2017-05-30T13:20:22+02:00</a10:updated>
            <a10:content type="text/xml">
                <Location>San diego</Location>
                <PublishedOn>2016-10-21T11:21:07</PublishedOn>
                <Body>Lorem ipsum dolar</Body>
                <JobCountry>USA</JobCountry>
            </a10:content>
        </item>
        <item>
            <guid isPermaLink="false">1</guid>
            <link>https://example.com/2</link>
            <title>Some title 2</title>
            <a10:updated>2017-05-30T13:20:22+02:00</a10:updated>
            <a10:content type="text/xml">
                <Location>Detroit</Location>
                <PublishedOn>2016-10-21T11:21:07</PublishedOn>
                <Body>Lorem ipsum dolar</Body>
                <JobCountry>USA</JobCountry>
            </a10:content>
        </item>
        <item>
            <guid isPermaLink="false">1</guid>
            <link>https://example.com/3</link>
            <title>Some title 3</title>
            <a10:updated>2017-05-30T13:20:22+02:00</a10:updated>
            <a10:content type="text/xml">
                <Location>Los Angeles</Location>
                <PublishedOn>2016-10-21T11:21:07</PublishedOn>
                <Body>Lorem ipsum dolar</Body>
                <JobCountry>USA</JobCountry>
            </a10:content>
        </item>
    </channel>
</rss>

Here is my code.

    $url = "http://example.com/RSSFeed";
    $xml = simplexml_load_file($url);

    foreach ($xml->channel as $x) {
        foreach ($x->item as $item) {

            dd($item);
        }
    }

Which outputs

    SimpleXMLElement {#111 ▼
      +"guid": "1"
      +"link": "https://example.com"
      +"title": "Some title"
    }

Here is my expected output

SimpleXMLElement {#111 ▼
  +"guid": "1"
  +"link": "https://example.com"
  +"title": "Some title"
  +"content" {
    0 => {
        +"Location": "San Diego"
        +"PublishedOn": "2016-10-21T11:21:07"
        +"Body": "Lorem ipsum dolar"
        +"JobCountry": "USA"
    }
    1 => {
        +"Location": "Detroit"
        +"PublishedOn": "2016-10-21T11:21:07"
        +"Body": "Lorem ipsum dolar"
        +"JobCountry": "USA"
    }
    2 => {
        +"Location": "Los Angeles"
        +"PublishedOn": "2016-10-21T11:21:07"
        +"Body": "Lorem ipsum dolar"
        +"JobCountry": "USA"
    }
  }
}

Anyone has a solution for this?

3 Answers
Related