Try this
$(function() {
        $.ajax({
                type: "GET",
                url: "devices.xml",
                dataType: "xml",
                success: function(xml)
                {

                        $
(xml.responseXML).find('device').each(function(index){
                        var device_name = $(this).text()

                        // create table layout
                        $('<tr><td class="device_name"></td></tr>')
                                .html(device_name)
                                .appendTo('#devicelist');
                        });
                }
        });

Regards
Tony

On May 7, 7:35 am, catharsis <[EMAIL PROTECTED]> wrote:
> Here is what I'm trying to do:
>
> (1) Parse an external XML,
> (2) enter the list of devices in the XML into an array,
> (3) sort the array alphabetically (and group items in the arrays by
> name if possible),
> (4) print the devices individually in table cells.
>
> Ideally, I'd like if the devices taken from the XML file
> (straightforward: just <devices><device> device1 </device><device>
> device2 </device> ... </devices>) could be more easily manipulated.
>
> $(function() {
>         $.ajax({
>                 type: "GET",
>                 url: "devices.xml",
>                 dataType: "xml",
>                 success: function(xml)
>                 {
>                         // create array for the devices
>                         var device_name = '', device_array = [];
>
>                         // iterate through the xml and add the devices to the 
> array
>                         $(xml).find('device').each(function(index){
>                                 device_name = ($this).text();
>                                 device_array.push(device_name);
>                         });
>
>                         // sort the array
>                         device_array.sort();
>
>                         // iterate through and print the elements
>                         for (var i = 0, item; item = device_array[i]; i++) {
>                                 $('<tr><td class="device_name"></td></tr>')
>                                 .html(item)
>                         .appendTo('#devicelist');
>                         };
>                 }
>         });
>
> });
>
> --
>
> This just outputs a blank space. I know there's an issue with sorting
> on jQuery arrays, but I don't think that's where the script is
> failing. Altogether, I'm having a difficult time trying to manipulate
> an on-the-fly table created from a parsed XML, but can't think of any
> alternatives.
>
> If it's of any help, the following script works, but doesn't produce a
> sorted, manipulate-able set of devices:
>
> $(function() {
>         $.ajax({
>                 type: "GET",
>                 url: "devices.xml",
>                 dataType: "xml",
>                 success: function(xml)
>                 {
>
>                         $(xml).find('device').each(function(index){
>                         var device_name = $(this).text()
>
>                         // create table layout
>                         $('<tr><td class="device_name"></td></tr>')
>                                 .html(device_name)
>                                 .appendTo('#devicelist');
>                         });
>                 }
>         });
>
> });

Reply via email to