0

私は PhoneGap で xui js を使用しており、xui js を介して xml を読みたいと思っています。いくつかのコードを記述し、ルート要素を正常に取得しています。また、各要素に対して forloop を実行しています。textContent を表示できる要素も取得しています。しかし、私は要素のタグ内にさらに要素を取得できません。どうすれば取得できますか。私のコードは次のとおりです。

    xui(window).on('load', function(){
        var url="http://www.w3schools.com/dom/books.xml";
        fireURL(url,winner);
    });

    function fireURL(url,success)
    {   
        var option={
        async:true,
        callback:function(){
            success(this.responseText);
        }
        }
        x$().xhr(url,option);
    } 

   function winner(data)
    {    
         domParser = new DOMParser();
         var xmlDoc=domParser.parseFromString(data,"text/xml");

        x$(xmlDoc).find("book").each(function(element,index){
            alert(element.textContent);
            //Here I want to get further elements by its tag name
        });
    }
4

1 に答える 1

0

そのために簡単にjavascriptを使用できます.Get reference from Here

または、成功コードを次のコードに置き換えます:-

        function winner(data)
    {    
         domParser = new DOMParser();
         var xmlDoc=domParser.parseFromString(data,"text/xml");

         var _bookStore=[];

        x$(xmlDoc).find("book").each(function(element,index){
              var _book={};
              _book.author=[];
              _book.title=element.getElementsByTagName("title")[0].textContent;
              for(j=0;j<element.getElementsByTagName("author").length;j++){
                  _book.author.push(element.getElementsByTagName("author")[j].textContent);
              }
              _book.year=element.getElementsByTagName("year")[0].textContent;
              _book.price=element.getElementsByTagName("price")[0].textContent;
              _bookStore.push(_book);
        });

         alert("hello"+JSON.stringify(_bookStore));
    }
于 2013-04-18T08:15:26.197 に答える