使用ajax解析具有唯一元素的XML文件

使用ajax解析具有唯一元素的XML文件,ajax,xml,Ajax,Xml,我目前正在尝试解析以下格式的xml文件: <holidays> <holiday1> text </holiday1> <holiday2> text </holiday2> <holiday3> text </holiday3> <holiday4> text </holiday4> ... 正文 正文 正文 正文 ... 使用以下代码: $

我目前正在尝试解析以下格式的xml文件:

<holidays>
    <holiday1> text </holiday1>
    <holiday2> text </holiday2>
    <holiday3> text </holiday3>
    <holiday4> text </holiday4>
    ...

正文
正文
正文
正文
...
使用以下代码:

$.ajax({
  url: '<filename>',
  dataType: 'xml',
  success: xmlParser
});

function xmlParser(xml) {
  $('#load').fadeOut();
  $(xml).contents().each(function () {
    $("#holidates").append('<p>' + $(this).text() + '</p>');  
  });
  $(".dates").fadeIn(2000);
}
$.ajax({
url:“”,
数据类型:“xml”,
成功:xmlParser
});
函数xmlParser(xml){
$(“#加载”).fadeOut();
$(xml).contents().each(函数(){
$(“#holidates”).append(''+$(this.text()+'

'); }); 美元(“.dates”)。fadeIn(2000年); }
电流输出为:

<p>01/13/2016 02/02/2016 12/24/2015 12/24/2015 12/24/2015 12/29/2015 12/30/2015 11/23/2015 01/01/2016 01/26/2016 12/25/2015</p>
01/13/2016 02/02/2016 12/24/2015 12/24/2015 12/29/2015 12/30/2015 11/23/2015 01/01/2016 01/26/2016 12/25/2015

我希望:

<p>01/13/2016</p>
<p>02/02/2016</p>
<p>12/24/2015</p>
....
01/13/2016

2016年2月2日

2015年12月24日

....
有没有一种方法可以在不格式化xml文件的情况下实现his?该文件是另一个系统的一部分,需要指定格式


非常感谢。

根据您的反馈,问题很清楚。获取根元素的文本值。但是,这只是将所有文本元素与其子元素连接起来

$(xml).contents().find('holidays').children().each(function () {
    $("#holidates").append('<p>' + $(this).text() + '</p>');  
});
谈到ajax,我不是专业人士,但我的想法是选择“holiday”标签并在该集合上运行“each”

由于名称中的整数,您的XML结构使它比应该的要难一些。如果您确定“holidays”标记的所有子项都是“holidayx”标记,那么您可以只取所有子项

$(xml).contents().find('holidays').children().each(function () {
    $("#holidates").append('<p>' + $(this).text() + '</p>');  
});
$(xml).contents().find('holidays').children().each(函数(){
$(“#holidates”).append(''+$(this.text()+'

'); });

我建议尝试类似的方法。

xml文件与ajax输出不一致。“文本”应该是日期吗?对不起,是的,“文本”是日期,因此应理解为:01/13/2016 02/02/2016 12/24/2015。。。。