0

我这里有这个 XML 文件。

<?xml version="1.0" encoding="UTF-8"?> 
<xml> 

<word> 
  <threeletter>RIP</threeletter>
  <threeletter>PIE</threeletter>  
  <fourletter>PIER</fourletter>
  <fourletter>RIPE</fourletter>
  <fiveletter>SPIRE</fiveletter> 
  <sixletter>SPIDER</sixletter> 
 </word>

 <word> 
  <threeletter>SUE</threeletter> 
  <threeletter>USE</threeletter> 
  <fourletter>EMUS</fourletter>
  <fourletter>MUSE</fourletter>
  <fiveletter>SERUM</fiveletter> 
  <sixletter>RESUME</sixletter> 
 </word>
</xml>

然后,一旦页面完成加载,我将加载它们并将这些单词存储在一个名为 word 的数组中

$(document).ready(function() {

    $.ajax
    ({ 
        url: "dictionary.xml", 
        success: function( xml )
        { 
            $(xml).find("word").each(function()
            { 
            words.push($(this).text());
            }); 
        }       
    });

})

然后当我访问alert(word[0])它的每个内容时,我会看到这个结果

RIP
PIE  
PIER
RIPE
SPIRE 
SPIDER

所以我假设 word[0] 是这样的,word[0] = "RIP PIE PIER RIPE SPIRE SPIDER "

但是当我这样做时“

var x = word[0].split(" ");
                    alert(x[0]);

它没有给我“RIP”这个词任何想法为什么会发生这种情况?我想剖析words[0](来自xml)中的所有单词,然后拆分这些单词并将这些单词存储在一个数组中,但它似乎不知道为什么?

4

1 回答 1

1

May be something like this

$.ajax({
    url: 'dictionary.xml',
    async: false,
    success: function(xml) {
        $(xml).find("word").each(function(index) {
            words[index] = [];
            $(this).children().each(function() {
                words[index].push($(this).text());

            });
        });

    },
    dataType: 'XML'
});
console.log(words[0]);
console.log(words[1]);​
于 2012-04-07T11:17:02.620 回答