2011-08-11 44 views
1

我需要技術專業知識才能格式化XML並以html格式呈現。我一直在使用JQuery XML解析器,並且我需要幫助構建html部分。JQuery XML解析器格式幫助

data.xml中

<xml> 
<rs:data> 
<z:row Category="Sales " URLMenu="http://www.abc.com, Sales.com" /> 
<z:row Category="Products" URLMenu="http://www.google.com, Products.com" /> 
<z:row Category="Sales "URLMenu="http://www.abc.com/services, Services.com" /> 
<z:row Category="Products" URLMenu="http://www.citigroup.net, Financial.com" /> 
<z:row Category="Products" SubCategory="International" URLMenu="http://www.google.com,  United States" /> 
<z:row Category="Products" SubCategory="International" URLMenu="http://www.googe.com, Australia" /> 
</rs:data></xml> 

JQuery的功能

<script type="text/javascript"> 
    $(document).ready(function() { 
     var thisHtml = ''; 
     var url = 'xml/Data.xml'; 
     $.get(url, function (d) { 
      $(d).find('z\\:row').each(function() { 
       thisHtml += '<ul>'; 
       { 
        thisHtml += '<li><a href="">' + $(this).attr("Category") + '</a></li>'; 
       } 
       thisHtml += '</ul>'; 
      });    $('bd').append($(thisHtml)); 
     }); 
    }); 
</script> 

下面是HTML代碼段需要被動態創建

<ul> 
<li>Sales 
    <ul> 
     <li><a>Sales.com</a></li> 
     <li><a>Products.com</a></li> 

    </ul> 
</li> 
<li>Products 
    <ul> 
     <li><a>Services.com</a></li> 
     <li><a>Financial.com</a></li> 
     <li>International 
      <ul> 
       <li><a>United States</a></li> 
       <li><a>Australia</a></li> 
      </ul> 
     </li> 
    </ul> 
</li>               

所需的HTML將同名的所有類別和URLMenu分組列出。 因爲我是JQuery的新手,請你幫我循環和渲染?

感謝

回答

0

如果你有一個固定的類別,你可以使用下面的選擇爲每個塊和順序渲染項目:

$(d).find('z\\:row[Category="Sales"]').each(...); 
$(d).find('z\\:row[Category="Products"]').each(...); 

否則,我猜你將不得不遍歷數據兩次,以便在第一次運行中按類別對數據進行分組,並在第二次中打印分組數據。

您可能還想考慮使用模板插件來渲染HTML,例如:http://api.jquery.com/tmpl/