2010-03-24 5 views
1

s'il vous plaît aidez-moi à parser XML à partir d'un autre xml ...comment jquery parse xml d'un autre xml?

Je possède ce nom xml browser.xml

alors c'est le diagram_activity.xml

<treeFragment> 
<folder name="Penjualan erna"> 
<link url="businessprocessdiagram_processdiagramreport_2162.htm" target="main"> 
</link> 

<leaf name="Process Diagram Report"> 
<link url="businessprocessdiagram_processdiagramreport_2162.htm" target="main"> 
</link> 
</leaf> 
</folder> 
</treeFragment> 

et je encore avoir tant d'autres xml que lié de browser.xml

Voici comment je pars browse.xml

<html> 
<head> 
<title>tes xml</title> 
<script language="javascript" src="js/lib/jquery.js"></script> 
<script language="javascript"> 
$(document).ready(getxml('browser.xml',parsedataxml)) 

function getxml(namafile,parsefunction){ 
    $.ajax({ 
    type: 'GET', 
    url: namafile, 
    dataType: 'xml', 
    success: parsefunction 
    }); 
    } 

function parsedataxml(xml){ 
    var str = ''; 
    $(xml).find('folder').each(
    function(){ 
    var name = $(this).attr('name'); 
    var linkurl = $(this).attr('refreshURL'); 
    if (typeof linkurl=='undefined'){ 
     str += 'folder : '+name+'<br/>'; 
     } 
    else { 
     str += '&nbsp subfolder : '+name+'<br/>&nbsp link :'+linkurl+'<br>'; 
/*  function(){ 
     $.ajax({ 
     type: 'GET', 
     url: linkurl, 
     dataType: 'xml', 
     success: parseleafxml 
     }); 
     } 
*/  } 
    }); 
    $('#Result').html(str); 
    } 
function parseleafxml(xml){ 
    var arrdata= new Array(); 
    var i = 0; 
    $(xml).find('folder').each(
    function(){ 
    var leafname = $(this).attr('name'); 
    var leaflink = leafname.text().find('link'); 
    var leafurl = leaflink.attr('url'); 
    var leaftarget = leaflink.attr('attr'); 
    //arrdata[i]= {leafname:leafname,leaflink:leafurl,leaftarget:leaftarget}; 
    //i +=1; 


    }); 
    } 

</script> 
</head> 
<body> 
<div id="Result" style="border:1px solid #006"></div> 
</body> 
</html> 

comment puis-je analyser le diagram_activity ?? je ne pouvais toujours pas avoir la voie ... s'il vous plaît quelqu'un aider ..

Note: le code de commentaire est ma façon d'analyser échoué, peut-être que quelqu'un pourrait la réparer, mais si vous pouviez me donner une autre solution, s'il vous plaît accueillir

Répondre

0
$(function() { 

    $.ajax({ 
     type: "GET", 
     url: "first.xml", 
     dataType: "xml", 
     success: parseXml 
    }); 

    function parseXml(xml) { 

     $(xml).find('tree').each(function() { 

      var url = $(this).find('url').text(); 

      if (url != '') { 

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

         $(xml).find('tree').each(function() { 

          var object = $(this).find('object').text(); 

          alert(object); 

         }); 
        } 
       }); 

      } 

     }); 
    } 

}); 

first.xml:

<?xml version="1.0" encoding="utf-8" ?> 

<tree> 
    <url>second.xml</url> 
</tree> 

second.xml:

<?xml version="1.0" encoding="utf-8" ?> 

<tree> 
    <object>Bingo</object> 
</tree> 

Sorties d'alerte: Bingo!

+0

merci pour la solution, mais désolé ... je dois transmettre les données de la première xml en sortie dans la deuxième xml aussi (non seulement analyser et accéder deuxième xml) ou peut-être vous avez la solution d'extraction des secondes données XML à afficher dans la première sortie xml ... – user300695