Solved

Pulling most but not all xml data.

Posted on 2014-01-16
8
208 Views
Last Modified: 2014-02-07
I'm not pulling the player headshot ID = NHLplayer and Player_Name= pn run the html file and you will see

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script src="jquery.scrollbox.js"></script>
<script type="text/javascript">

	var xmlPath = '.' //'/xml/nba/scores/real';
	var xmlGameID = 'ADX-INDSTATS-PHI'; 

	$(document).ready(function() {
		//var myVar = setInterval(getsimple, 10000);
		getsimple();
	});

	function getsimple() {
		$.get(xmlPath + "/" + xmlGameID + ".xml", function(data) {
			var d = $(data);
			var message = d.find('message');
			var title = $("Title", message).text();
			var teamid = $("TeamID", message).text();
			$('#title1').text(title);
			$('#teamid1').attr('src', 'http://images.sportsnetwork.com/nhl/attherink/logos/' + teamid + '.png');
			playerData = $(data);
			players = playerData.find('Individual_Stats');
			playerData.find('Individual_Stats').each(function(i, player) {
				
			var newPlayer = $('#template').clone().removeAttr('id');
			 $('#NHLplayer').attr('src', 'http://images.sportsnetwork.com/nhl/attherink/players/'+ $('Player_ID', player).text() +".jpg");
           
			
			
			$('.pn', newPlayer).text( $('Player_Name', player).html() );
				$('.p', newPlayer).text( $('Position', player).text() );
			$('.j', newPlayer).text( $('Jersey_Number', player).text() );
				$('.gp', newPlayer).text( $('Games_Played', player).text() );
			$('.g', newPlayer).text( $('Goals', player).text() );
			$('.a', newPlayer).text( $('Assists', player).text() );
				
			$('.tp', newPlayer).text( $('Total_Points', player).text() );
			$('#players ul').append( $('<li>').append(newPlayer) );
		});
			
		$('#players').scrollbox({
		linear: true,
  step: 1,
  delay: 0,
  speed: 100
	
	
				
			});
		});
	}

</script>
<link rel="stylesheet" href="http://powerzsoftware.com/css/jquery-ui-1.8.9.customver1.css">
<style type="text/css">
	#players { width: 435px; height: 400px; overflow: hidden; }
	#players ul li { list-style-type: none; border-bottom:1px solid green; }
	.playerTable td { vertical-align:top; }
	#template { display:none; }
</style>
</head>

<body>
<div id="players" >
	<ul></ul>
</div>
<table id="template" class="playerTable" width="400" border="0">
  <tr>
    <td width="73"><div align="center"><img src="Logos/130.png" name="teamid1" width="50" height="50" id="teamid1"></div></td>
    <td colspan="6"><div align="center" id="title1"></div></td>
  </tr>
  <tr>
    <td rowspan="3"><div align="center"><img src="http://sportsnetwork.com/gamecast/Images/NHLPLAYER.png" name="NHLPlayer" width="50" height="50" id="NHLPlayer"></div></td>
    <td colspan="6" class="pn"><div align="center"></div></td>
  </tr>
  <tr>
    <td width="84"><div align="center">Position</div></td>
    <td width="22" class="p"><div align="center"></div></td>
    <td width="57"><div align="center">Jersey #</div></td>
    <td width="21"class="j"><div align="center"></div></td>
    <td width="90"><div align="center">Games Played</div></td>
    <td width="23" class="gp"><div align="center"></div></td>
  </tr>
  <tr>
    <td><div align="center">Goals</div></td>
    <td class="g"><div align="center"></div></td>
    <td><div align="center">Assists</div></td>
    <td class="a"><div align="center"></div></td>
    <td><div align="center">Total Points</div></td>
    <td class="tp"><div align="center"></div></td>
  </tr>
</table>
</body>
</html>

Open in new window

ADX-INDSTATS-PHI.xml
fLYERS.html
jquery.scrollbox.js
0
Comment
Question by:powerztom
  • 4
  • 4
8 Comments
 
LVL 43

Accepted Solution

by:
Chris Stanyon earned 500 total points
ID: 39786174
Hey Tom.

If you look at your XML data, you'll see that Player_Name is an attribute of the Individual_Stats node, and not a node in itself, so instead of:

$('.pn', newPlayer).text( $('Player_Name', player).html() );

You need this:

$('.pn', newPlayer).text( $(player).attr('Player_Name') );

The headshot isn't showing for a couple of reasons - firstly, you have a case-mismatch - NHLplayer in the jQuery and NHLPlayer in the HTML (note the capital P).

You're also using an ID where you should be using a class. You should have this in your jQuery:

$('.NHLPlayer').attr('src', 'http://images.sportsnetwork.com/nhl/attherink/players/'+ $('Player_ID', player).text() +".jpg");
           
And this in your HTML:

<img src="http://sportsnetwork.com/gamecast/Images/NHLPLAYER.png" width="50" height="50" class="NHLPlayer">
0
 

Author Closing Comment

by:powerztom
ID: 39786233
Chris thanks for the insight on "look at your XML data, you'll see that Player_Name is an attribute of the Individual_Stats node, and not a node in itself, so instead of:"

And Image now appears but it's the same headshot for every table. I'm gonna give these points and Put in one last ticket for repeating headshot. Chris I'm glad your back cause your code is always sharp.
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39786256
Wish I was still on holiday :)

Make sure you've changed the NHLPlayer bit from using an ID to using a class (both in jQuery and HTML!)
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:powerztom
ID: 39786434
Coming Back to the work world sucks after a vacation no doubt. Chris I got NHLPlayer named this why in both html and Jquery. This one now is above me I think the same image that keeps repeating is the last record like the code for the image runs to the end while everything else is incrementing. Cause that head shot is not Claude Giroux IT'S Ray Emery who is the last player on the xml file. For image it just goes straight to last value and remains there for some reason. Give the html file a click check it out.Html File
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39786505
Post your HTML page as you have it- you've only posted an image so I can't examine that! I'm sure it's something simple :)
0
 

Author Comment

by:powerztom
ID: 39842569
Chris could you please give me a hand on my ticket You can get this done easily I'm trying to piece some of your code which is good but I can't come up with desired result. Please could you work your magic http://www.experts-exchange.com/Web_Development/Mobile_Web/Q_28358483.html
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39842591
Flat out with work at the moment so haven't really got time to look at it. I may get a chance over the weekend but no guarantees ;(
0
 

Author Comment

by:powerztom
ID: 39843037
No problem Chris If you get to it I appreciate and if not you got to take care of yourself first
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question