XML reading problem

I wanted to read xml with following code:

I can read till:
<LINK LINKTYPE=“IMAGE”>
<LINK_URL IMAGE_WIDTH=“400” IMAGE_HEIGHT=“600”>http://www.google.com.pk/intl/en_com/images/logo_plain.png&lt;/LINK_URL&gt;

after that i have no idea how to read it?? any help please …

$xml = simplexml_load_file("events.xml");
foreach($xml->children() as $child)
{
	echo $child["SID"].'-'.$child["STYPE"].'-'.$child["SPRIORITY"].'<br />';
	echo $child->SHOWNAME.'<br />';
	echo $child->SHOWSHORT.'<br />';
	echo $child->SHOWLONG.'<br />';
	echo $child->BOOKINGFROM.'<br />';
	echo $child->BOOKINGUNTIL.'<br />';
	echo $child->VENUE["VID"];
	echo $child->VENUE->VENUE_NAME;
	echo $child->LINKS->LINK->LINK_URL;
	echo $child->LINKS->LINK["LINKTYPE"];

	foreach($child->children() as $child1)
	{
		if(!empty($child1->ADDRESS->ADDRESS_1))
		{
			echo $child1->ADDRESS->ADDRESS_1;
			echo $child1->ADDRESS->ADDRESS_2;
			echo $child1->ADDRESS->POSTCODE;		
		}
	}
}
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<SHOWS>
<SHOW SID="1597" STYPE="M" SPRIORITY="3">
<SHOWNAME>My Dancing</SHOWNAME>
<SHOWSHORT>My Short Des comes here...</SHOWSHORT>
<SHOWLONG>Long desc comes ehre.....</SHOWLONG>
<BOOKINGFROM>Friday, 29th September 2009</BOOKINGFROM>
<BOOKINGUNTIL>Saturday, 23rd October 2010</BOOKINGUNTIL>
<MATINEES>Friday and Saturday 3pm</MATINEES>
<EVENINGS>Monday to Saturday 7.30pm</EVENINGS>
<VENUE VID="1012">
<VENUE_NAME>My Theatre</VENUE_NAME>
<ADDRESS>
<ADDRESS_1>My Addresss 1</ADDRESS_1>
<ADDRESS_2>My City</ADDRESS_2>
<POSTCODE>44000</POSTCODE>
</ADDRESS>
<LINKS>
<LINK LINKTYPE="IMAGE">
<LINK_URL IMAGE_WIDTH="400" IMAGE_HEIGHT="600">http://www.google.com.pk/intl/en_com/images/logo_plain.png</LINK_URL>
<LINK_TITLE>Image</LINK_TITLE>
</LINK>
<LINK LINKTYPE="SEATINGPLAN">
<LINK_URL IMAGE_WIDTH="400" IMAGE_HEIGHT="600">http://www.google.com.pk/intl/en_com/images/logo_plain.png</LINK_URL>
<LINK_TITLE>Seating Plan</LINK_TITLE>
</LINK>

</LINKS>
<VENUE_DIRECTIONS>an directions .....</VENUE_DIRECTIONS>
<VENUE_LOCATION>
<VENUE_LONGITUDE>-33.1188</VENUE_LONGITUDE>
<VENUE_LATITUDE>74.5131</VENUE_LATITUDE>
</VENUE_LOCATION>
</VENUE>
<LINKS>
<LINK LINKTYPE="IMAGE">
<LINK_URL IMAGE_WIDTH="100" IMAGE_HEIGHT="150">http://www.google.com.pk/intl/en_com/images/logo_plain.png</LINK_URL>
</LINK>
<LINK LINKTYPE="VIDEO">

<LINK_URL>http://www.google.com.pk/intl/en_com/images/logo_plain.png</LINK_URL>
</LINK>
<LINK LINKTYPE="IMAGE">
<LINK_URL IMAGE_WIDTH="250" IMAGE_HEIGHT="250">http://www.google.com.pk/intl/en_com/images/logo_plain.png</LINK_URL>

</LINK>
<LINK LINKTYPE="IMAGE">
<LINK_URL IMAGE_WIDTH="250" IMAGE_HEIGHT="215">http://www.google.com.pk/images/nav_logo7.png</LINK_URL>
</LINK>
<LINK LINKTYPE="SPECIFIC">
<LINK_URL>http://www.google.com/search?q=Islamabad</LINK_URL>

<LINK_TITLE>Show Details</LINK_TITLE>
</LINK>
<LINK LINKTYPE="MEALDEAL">
<LINK_URL>http://www.google.com/search?q=Lahore</LINK_URL>
<LINK_TITLE>Show Meal Deals</LINK_TITLE>
</LINK>
</LINKS>
<METAS>
<META MTYPE="META_TITLE">
<METADATA>Theatre</METADATA>
</META>
<META MTYPE="META_KEYWORDS">
<METADATA>tickets, agency</METADATA>
</META>
<META MTYPE="META_DESCRIPTION">
<METADATA>tickets Book your</METADATA>
</META>
</METAS>
<QUOTES>
<QUOTE QSORT="10">
<QUOTETEXT>The live</QUOTETEXT>
<PUBLICATION>Times</PUBLICATION>
</QUOTE>
</QUOTES>
</SHOW>

As there are multiple links, $child->LINK should be an array not an object - you loop through that array to access individual items.

I struggle to see why your XML elements are named the way they are. An url inside a link tag would be an url, so calling it link_url is a little unneeded.

I’d recommend a more… meaningful structure:

<Shows>
	<Show ID="1597" Type="M" Priority=3>
		<Name>My Dancing</Namme>
		<Description>
			<Short>My Short Des comes here...</Short>
			<Long>Long desc comes ehre.....</Long>
		</Description>
		<BookingDates>
			<From>Friday, 29th September 2009</From>
			<Until>Saturday, 23rd October 2010</Until>
		</BookingDates>
		<Showings>
			<Matinees>Friday and Saturday 3pm</Matinees>
			<Evenings>Monday to Saturday 7.30pm</Evenings>
		</Showings>
		<Venue ID=1012>
			<Name>My Theatre</Name>
			<Address>
				<Street>My Addresss 1</Street>
				<City>My City</City>
				<Postcode>44000</Postcode>
			</Address>
		</Venue>
		<Links>
			<Link Type="Image">
				<Url>http://www.google.com.pk/intl/en_com/images/logo_plain.png</Url>
				<Width>400</Width>
				<Height>600</Height>
				<Title>Image</Title>
			</Link>
			<Link Type="Image">
				<Url>http://www.google.com.pk/intl/en_com/images/logo_plain.png</Url>
				<Width>400</Width>
				<Height>600</Height>
				<Title>Seating Plan</Title>
			</Link>
		</Links>
	<!-- at this point I get too bored to continue -->
	</Show>
</Shows>

But the problem is that i did not make that xml so i have to use it as it is…

In that case, pay attention to the first line of my post :stuck_out_tongue:

$child->LINK should be an array, so loop through it.

And get rid of the XML guy :wink: