Sorry, I made a mistake on the code. It's suppose to be:

$.get("photos.xml", {}, function(xml)
{
     xml = text2xml(xml);
     // do your stuff
}

On Mar 20, 4:44 pm, James <james.gp....@gmail.com> wrote:
> I've looked it up and it seems to be a bug with how IE works.
> Apparently the XML file is not returning the correct XML header by
> default:http://dev.jquery.com/ticket/3598
>
> If you can use server-side scripting, you can try to force the
> response header so it's XML.
>
> Another solution is posted 
> here:http://groups.google.com/group/jquery-en/browse_thread/thread/036d49a...
> look at the bottom of the thread from Diego A for the text2xml
> function.
> Copy that code to somewhere in yours and call it like:
>
> $('photograph', xml).each(function()
> {
>      xml = text2xml(xml);
>      // do your stuff
>
> }
>
> On Mar 20, 3:58 pm, "eco...@googlemail.com" <eco...@googlemail.com>
> wrote:
>
> > Sorry if I appear impatient, but I was wondering whether anyone had
> > seen this post?
>
> > Please can someone have a look at this problem for me, or tell me the
> > best way to iterate through the XML file with jQuery?
>
> > Thanks,
> > Charlie
>
> > On Mar 20, 12:54 pm, "eco...@googlemail.com" <eco...@googlemail.com>
> > wrote:
>
> > > Hi,
>
> > > I am fairly new to jQuery, but found it has cut my dev time
> > > tremendously, and things just work great in my prototypes, developing
> > > on Windows Vista, using DW CS4, with my default browser set to Firefox
> > > 3.0.7.
>
> > > However, on completion of a prototype, I was ready to show a client,
> > > and thought I better run it through Internet Explorer in case I was
> > > asked to demo it on both browsers.
>
> > > That was when the headaches started!
>
> > > I managed to work out most of it without too much problem, but the
> > > following issue has got me stumped.  I have reduced the code to the
> > > smallest snippet that continues to use the code structure and design I
> > > am trying to implement.  I am open to redesign, although there are
> > > good reasons why I am doing things as I am.  However...
>
> > > Basically, I am populating an unordered list via JS & jQ, using an XML
> > > index file to locate filenames of images, which are then placed in a
> > > container.  It works like a dream in Firefox!  I have posted the code
> > > further below...
>
> > > In IE7, I am told that on line 25 (photos.js), "dsp.0.filename is null
> > > or not an object".  Through debugging, it appears that "px = $
> > > ('photograph', xml).each(function()" on line 13 is not offering a list
> > > to be traversed, so the code block of line 14 - 20 is never run, thus
> > > failing to populate dsp wih any objects.
>
> > > Can someone please explain what I am doing wrong (other than expecting
> > > IE7 to behave like a browser), or how I can workaround this apparent
> > > issue?
>
> > > (I have posted all the relevant files below, sorry if it makes this
> > > post a little long..)
>
> > > Thanks in advance,
> > > Charllie
>
> > > "photos.js"
> > > [code]
> > > // JavaScript Document
>
> > > var dsp = new Array(); // gallery index
> > > var uls;
> > > var px;
>
> > > $(function() {
> > >         $.get("photos.xml", {}, function(xml)
> > >         {
> > >                 var id = 0;
>
> > >                 // populate the arrays containing the photos, for easy 
> > > reference,
> > > from the xml index file
> > >                 px = $('photograph', xml).each(function()
> > >                 {
> > >                         var photo = new Object();
> > >                         photo.filename = $(this).find("filename").text();
> > >                         photo.id = id++;
>
> > >                         dsp.push(photo);
> > >                 });
>
> > >                 // populate the unordered lists with thumbnails
> > >                 uls = $("ul[class=ulscr]").each(function()
> > >                 {
> > >                         var h = "<a href='javascript:selectimage();'><img 
> > > src='photos/
> > > thumbs/" + dsp[0].filename + "' /></a>";
> > >                         $(this).append(h);
>
> > >                 });
> > >         });});
>
> > > [/code]
>
> > > "photos.xml"
> > > [code]
> > > <photographs>
> > >         <photograph><filename>DSC_2574.JPG</
> > > filename><datetaken>20090109211616</datetaken><height>425</
> > > height><width>640</width><format>L</format></photograph>
> > >         <photograph><filename>DSC_2575.JPG</
> > > filename><datetaken>20090109211951</datetaken><height>640</
> > > height><width>425</width><format>P</format></photograph>
> > > </photographs>
> > > [/code]
>
> > > "index.html"
> > > [code]
> > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
> > > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> > > <html xmlns="http://www.w3.org/1999/xhtml";>
> > > <head>
> > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> > > <title>Snippet</title>
> > > <script src="javascript/jquery-1.3.2.js"> type="text/javascript"</
> > > script>
> > > <script type="text/javascript" src="photos.js"></script>
> > > </head>
>
> > > <body class="twoColElsLt">
> > >   <div id="landleft" class="scroller" style="float: left;">
> > >     <ul id="ulll" class="ulscr">
> > >     </ul>
> > >   </div>
> > > </body>
> > > </html>
> > > [/code]
>
>

Reply via email to