在javascript中检索XML文档的所有值

Retrieving All the values of an XML document in javascript

本文关键字:文档 XML javascript 检索      更新时间:2023-09-26

我有这个XML文档

<xml>
 <word>
   <threeletter>rip</threeletter>
   <fourletter>Pier</fourletter> 
   <fiveletter>Spire</fiveletter>
   <sixletter>Spider</sixletter>
 </word>
 <word>
   <threeletter>rip</threeletter>
   <fourletter>Pier</fourletter> 
   <fiveletter>Spire</fiveletter>
   <sixletter>Spider</sixletter>
 </word>
 <word>
   <threeletter>rip</threeletter>
   <fourletter>Pier</fourletter> 
   <fiveletter>Spire</fiveletter>
   <sixletter>Spider</sixletter>
 </word>
</xml>

让我们假设单词中的每个元素都有不同的值。javascript中是否可以检索所有这些值?然后将它们存储在阵列中?还是一个变量?如果是,如何?因为我计划将它们与用户输入

进行比较

目前还不清楚您希望如何构建数组。

下面是一个在对象中存储多个数组的例子

var words={ threeletter:[], fourletter:[], fiveletter:[], sixletter:[]};
var xmlItems=['threeletter','fourletter', 'fiveletter', 'sixletter'];
$(xml).find('word').each(function(){
    var $word=$(this);
    $.each( xmlItems, function(i, item){
        words[item].push( $word.find( item ).text());
    });    
});

要访问3个字母的数组,请使用words.threeletter

演示:http://jsfiddle.net/5EnR2/

两种方式:):

  • jQuery:http://api.jquery.com/jQuery.parseXML/
  • 不是jQuery:http://www.w3schools.com/xml/xml_examples.asp(http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest)