2011-08-11 4 views
1

XML 형식을 지정하고 HTML 형식으로 렌더링하는 기술 전문 지식이 필요합니다. 나는 JQuery XML 파서를 사용하고 있으며 html 부분 만 작성하는 데 도움이 필요하다.JQuery XML Parser 형식 도움말

인 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/

).