【问题标题】:Retrieving All the values of an XML document in javascript在 javascript 中检索 XML 文档的所有值
【发布时间】:2012-03-28 15:51:41
【问题描述】:

我有这个 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 中检索所有这些值?然后将它们存储在一个数组中?还是一个变量?如果是这样怎么办?因为我打算将它们与用户输入进行比较

【问题讨论】:

标签: javascript jquery xml json


【解决方案1】:

完全不清楚您希望数组的结构。

这是一个在一个对象中存储多个数组的示例

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/

【讨论】:

  • jsfiddle 不工作/运行,我点击运行没有任何反应
  • 它正在记录以控制台 words 对象。查看浏览器控制台。除非您在 IE 中安装了控制台,否则会在 IE 中中断。 IE 是用于 js 的糟糕的开发者浏览器
  • 如果我有外部 XML 怎么办?那是 Jquery 吗?
  • 用ajax加载xml并在成功回调中运行上面的代码
  • 使用谷歌...寻找“jquery ajax xml”,应该会找到大量结果
【解决方案2】:

【讨论】:

  • 但如果我必须获得所有这些价值怎么办?并将它们存储到局部变量中?
猜你喜欢
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 2021-01-02
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多