0

XMLファイル(test.xml)の内容を取得したい

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <rootElement title="Requirement">
        <infotext>Info goes here</infotext>
        <links>
            <link linkurl="www.atkinsglobal.com">Atkins Global</link>
            <link linkurl="www.google.com">Google</link>
        </links>
    </rootElement>
    <rootElement title="Inception">
        <infotext>Info goes here</infotext>
        <links>
            <link linkurl="www.inceptone.com">Incept1</link>
            <link linkurl="www.incepttwo.com">Incept2</link>
        </links>
    </rootElement>
</root>

シンプルな jquery $.get メソッドを使用します。私のjquery関数は次のようになります:

$(function() {
   $.get('js/test.xml', function(data) {

     $(data).find('rootElement').each(function() {
         var $rootElement = $(this);
         var $title = $rootElement.attr("title");
         var $infotext = $rootElement.find('infotext').text();

         $rootElement.children().each(function() {
             var $link = $(this).find('link').text();
             var $linkurl = $(this).find('link').attr("linkurl");

             var subhtml = '<div class="link">' + $link + ': ' + $linkurl + '</div>';

             $('.links').append($(subhtml));
         });

         var html = '<div class="title">Title: ' + $title + '</div>';
         html += '<div class="subtitle">Infotext: ' + $infotext + '</div>';
         html += '<div class="links"></div>';

         $('#xmlContent').append($(html));
     });
   });
});

XML ファイル内のリンク ビットを除いて、正しいデータを示しています。それはループ内のループであり、そこで何か間違ったことをしています。HTML は単に<div id="xmlContent"<h1>Root Elements</h1></div>.

4

1 に答える 1