Ryan Fitzgerald
Ryan Fitzgerald

Reputation: 455

Why is this XML attribute showing up twice

In PHP i'm using the following code to put a banner at the top of my website.

$eventinfo = simplexml_load_file("eventinfo.xml");
<div id="eventinfo"><?php foreach($eventinfo->children() as $child){ $final =   $child["name"]."...<a href='".$child["adr"]."'>more info...</a>"; }  ?>
</div>

The XML doc is available at the following: http://eastsidespeedway.raceresults.co/eventinfo.xml

If you go to http://eastsidespeedway.raceresults.co/index.php you'll see that the more info... link is showing up twice. One with the correct link, and the other with a link to the same page (index.php).

Can anyone shed some light on what I'm doing wrong?

Also. If you see anything that I'm doing wrong, or you know something that's easier - let me know! This is my first time using XML/PHP so I'm kinda just wingin it. Haha.

Upvotes: 0

Views: 101

Answers (2)

Sundar
Sundar

Reputation: 4650

this will work for you

<?php 
$doc = new DOMDocument();
$doc->load('http://eastsidespeedway.raceresults.co/eventinfo.xml');

$title = $doc->getElementsByTagName('title');
$link = $doc->getElementsByTagName('link');

//print_r($eventinfo);
?>
<div id="eventinfo">
<?php echo $title->item(0)->getAttribute('name'); ?>
<a href='<?php echo $link->item(0)->getAttribute('adr'); ?>'>More Infoo..</a>
</div>

Upvotes: 1

adaam
adaam

Reputation: 3706

If you look at your source:

<div id="eventinfo">5/18/2013 - Al Smiley Memorial...<a href=''>more
info...</a>...<a href='http://www.eastsidespeedway.com/dirt.html'>more
info...</a></div>

You've got two hyperlinks- one href is blank meaning that it will redirect to the current page, check your HTML code first to see if you've accidentally duplicated the element, otherwise look at the construction of your string in the php code

Upvotes: 0

Related Questions