1

XML をフォーマットし、以下の html フォーマットでレンダリングするには、技術的な専門知識が必要です。私は JQuery XML パーサーを使用しており、html 部分だけを作成するのに助けが必要です。

データ.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が初めてなので、ループとレンダリングを手伝ってもらえますか?

ありがとう

4

1 に答える 1

0

カテゴリの固定セットがある場合は、各ブロックに次のセレクターを使用して、アイテムを順番にレンダリングできます。

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

そうしないと、最初の実行でカテゴリ別にデータをグループ化し、2 回目の実行でグループ化されたデータを出力するために、データを 2 回トラバースする必要があると思います。

HTML をレンダリングするために、次のようなテンプレート プラグインの使用を検討することもできます: http://api.jquery.com/tmpl/

于 2011-08-11T12:36:29.620 に答える