Reputation: 13843
Here is my feed:
<entry>
<id>http://api.visitmix.com/OData.svc/Sessions(guid'816995df-b09a-447a-9391-019512f643a0')</id>
<title type="text">Building Web Applications with Microsoft SQL Azure</title>
<summary type="text">SQL Azure provides a highly available and scalable relational database engine in the cloud. In this demo-intensive and interactive session, learn how to quickly build web applications with SQL Azure Databases and familiar web technologies. We demonstrate how you can quickly provision, build and populate a new SQL Azure database directly from your web browser. Also, see firsthand several new enhancements we are adding to SQL Azure based on the feedback we’ve received from the community since launching the service earlier this year.</summary>
<published>2010-01-25T00:00:00-05:00</published>
<updated>2010-03-05T01:07:05-05:00</updated>
<author>
<name />
</author>
<link rel="edit" title="Session" href="Sessions(guid'816995df-b09a-447a-9391-019512f643a0')" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Speakers" type="application/atom+xml;type=feed" title="Speakers" href="Sessions(guid'816995df-b09a-447a-9391-019512f643a0')/Speakers">
<m:inline>
<feed>
<title type="text">Speakers</title>
<id>http://api.visitmix.com/OData.svc/Sessions(guid'816995df-b09a-447a-9391-019512f643a0')/Speakers</id>
<updated>2010-03-25T11:56:06Z</updated>
<link rel="self" title="Speakers" href="Sessions(guid'816995df-b09a-447a-9391-019512f643a0')/Speakers" />
<entry>
<id>http://api.visitmix.com/OData.svc/Speakers(guid'3395ee85-d994-423c-a726-76b60a896d2a')</id>
<title type="text">David-Robinson</title>
<summary type="text"></summary>
<updated>2010-03-25T11:56:06Z</updated>
<author>
<name>David Robinson</name>
</author>
<link rel="edit-media" title="Speaker" href="Speakers(guid'3395ee85-d994-423c-a726-76b60a896d2a')/$value" />
<link rel="edit" title="Speaker" href="Speakers(guid'3395ee85-d994-423c-a726-76b60a896d2a')" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Sessions" type="application/atom+xml;type=feed" title="Sessions" href="Speakers(guid'3395ee85-d994-423c-a726-76b60a896d2a')/Sessions" />
<category term="EventModel.Speaker" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="image/jpeg" src="http://live.visitmix.com/Content/images/speakers/lrg/default.jpg" />
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<d:SpeakerID m:type="Edm.Guid">3395ee85-d994-423c-a726-76b60a896d2a</d:SpeakerID>
<d:SpeakerFirstName>David</d:SpeakerFirstName>
<d:SpeakerLastName>Robinson</d:SpeakerLastName>
<d:LargeImage m:null="true"></d:LargeImage>
<d:SmallImage m:null="true"></d:SmallImage>
<d:Twitter m:null="true"></d:Twitter>
</m:properties>
</entry>
</feed>
</m:inline>
</link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Tags" type="application/atom+xml;type=feed" title="Tags" href="Sessions(guid'816995df-b09a-447a-9391-019512f643a0')/Tags" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Files" type="application/atom+xml;type=feed" title="Files" href="Sessions(guid'816995df-b09a-447a-9391-019512f643a0')/Files" />
<category term="EventModel.Session" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="application/xml">
<m:properties>
<d:SessionID m:type="Edm.Guid">816995df-b09a-447a-9391-019512f643a0</d:SessionID>
<d:Location>Breakers L</d:Location>
<d:Type>Seminar</d:Type>
<d:Code>SVC07</d:Code>
<d:StartTime m:type="Edm.DateTime">2010-03-17T12:00:00</d:StartTime>
<d:EndTime m:type="Edm.DateTime">2010-03-17T13:00:00</d:EndTime>
<d:Slug>SVC07</d:Slug>
<d:CreatedDate m:type="Edm.DateTime">2010-01-26T18:14:24.687</d:CreatedDate>
<d:SourceID m:type="Edm.Guid">cddca9b7-6830-4d06-af93-5fd87afb67b0</d:SourceID>
</m:properties>
</content>
</entry>
I want to print the:
I presume I can use filegetcontents
and then transform to simplexmlstring
, but I dont know how to get the deeper items in I want, like Author, and image.
Upvotes: 1
Views: 430
Reputation: 401152
Considering SimpleXML loads XML data using :
Something like this should do the trick :
$string = <<<STR
<entry>
...
</entry>
STR;
$xml = @simplexml_load_string($string);
echo (string)$xml->title . '<br />';
echo (string)$xml->link[1]->inline->feed->entry->author->name . '<br />';
echo (string)$xml->content->properties->Location . '<br />';
echo (string)$xml->link[1]->inline->feed->entry->content['src'] . '<br />';
And I get the following output :
Building Web Applications with Microsoft SQL Azure
David Robinson
Breakers L
http://live.visitmix.com/Content/images/speakers/lrg/default.jpg
Using var_dump($xml);
can help you find out how your data is represented, when using SimpleXML -- makes things easier when it comes to accessing it ;-)
Note : here, I've used the @
operator to supress the warnings I was getting when using simplexml_load_string
; else, I have plenty of warnings like these :
Warning: simplexml_load_string() [function.simplexml-load-string]:
namespace error : Namespace prefix m on inline is not defined
Warning: simplexml_load_string() [function.simplexml-load-string]: <m:inline>
Maybe there's something that needs fixing, here ?
Upvotes: 1