-1

jquery の$.parseXML()関数を使用して、次のような xml 値を取得できます。

次のような入れ子になったbookタグを含むタグが必要だauthorpriceします 。 #tag").val();//"book" var tags = $xml.find(tag); var res = [];

tags.each(function(ind, elm){

    res.push($(elm).text());

});

console.log(res) 

Array[12]
    0: "↵      Gambardella, Matthew↵      XML Developer's Guide↵      Computer↵      44.95↵      2000-10-01↵      An in-depth look at creating applications ↵      with XML.↵   "
    1: "↵      Ralls, Kim↵      Midnight Rain↵      Fantasy↵      5.95↵      2000-12-16↵      A former architect battles corporate zombies, ↵      an evil sorceress, and her own childhood to become queen ↵      of the world.↵   "
    2: "↵      Corets, Eva↵      Maeve Ascendant↵      Fantasy↵      5.95↵      2000-11-17↵      After the collapse of a nanotechnology ↵      society in England, the young survivors lay the ↵      foundation for a new society.↵   "
    3: "↵      Corets, Eva↵      Oberon's Legacy↵      Fantasy↵      5.95↵      2001-03-10↵      In post-apocalypse England, the mysterious ↵      agent known only as Oberon helps to create a new life ↵      for the inhabitants of London. Sequel to Maeve ↵      Ascendant.↵   "
    4: "↵      Corets, Eva↵      The Sundered Grail↵      Fantasy↵      5.95↵      2001-09-10↵      The two daughters of Maeve, half-sisters, ↵      battle one another for control of England. Sequel to ↵      Oberon's Legacy.↵   "
    5: "↵      Randall, Cynthia↵      Lover Birds↵      Romance↵      4.95↵      2000-09-02↵      When Carla meets Paul at an ornithology ↵      conference, tempers fly as feathers get ruffled.↵   "
    6: "↵      Thurman, Paula↵      Splish Splash↵      Romance↵      4.95↵      2000-11-02↵      A deep sea diver finds true love twenty ↵      thousand leagues beneath the sea.↵   "
    7: "↵      Knorr, Stefan↵      Creepy Crawlies↵      Horror↵      4.95↵      2000-12-06↵      An anthology of horror stories about roaches,↵      centipedes, scorpions  and other insects.↵   "
    8: "↵      Kress, Peter↵      Paradox Lost↵      Science Fiction↵      6.95↵      2000-11-02↵      After an inadvertant trip through a Heisenberg↵      Uncertainty Device, James Salway discovers the problems ↵      of being quantum.↵   "
    9: "↵      O'Brien, Tim↵      Microsoft .NET: The Programming Bible↵      Computer↵      36.95↵      2000-12-09↵      Microsoft's .NET initiative is explored in ↵      detail in this deep programmer's reference.↵   "
    10: "↵      O'Brien, Tim↵      MSXML3: A Comprehensive Guide↵      Computer↵      36.95↵      2000-12-01↵      The Microsoft MSXML3 parser is covered in ↵      detail, with attention to XML DOM interfaces, XSLT processing, ↵      SAX and more.↵   "
    11: "↵      Galos, Mike↵      Visual Studio 7: A Comprehensive Guide↵      Computer↵      49.95↵      2001-04-16↵      Microsoft Visual Studio 7 is explored in depth,↵      looking at how Visual Basic, Visual C++, C#, and ASP+ are ↵      integrated into a comprehensive development ↵      environment.↵   "
    length: 12

とにかく、それらのテキスト文字列が含まれているノードの名前を取得できるので、次のようなものを印刷できますか

author: Gambardella, Matthew
title:  XML Developer's Guid

編集: 現在、私は次のようなものを扱っています:

tags.each(function(ind, elm){
    res[ind] = res[ind] || [];
    for (var i = 0; i <= elm.childNodes.length; i++){
             res[ind][elm.childNodes[i]] = elm.childNodes[i].textContent;
         }

});
console.dir(res);

But it's not quite working
4

1 に答える 1

0

最終的に、ネストされたノードごとにキーと値のペアを持つオブジェクトを提供するために、これはかなりうまく機能しているように見えました。もちろん再帰的ではありませんが。

tags.each(function (ind, elm) {

    for (var i = 0; i < elm.childNodes.length; i++) {
        //test if it is not a 
        if (/^\s+$/.test(elm.childNodes[i].textContent) == false) {

            res[ind] = res[ind] || {}
            res[ind][elm.childNodes[i].localName] = elm.childNodes[i].textContent;

        }
    }

});
于 2013-10-03T17:59:53.170 に答える