我目前正在尝试解析具有以下格式的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);
}
目前的输出是:
<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>
我更愿意:
<p>01/13/2016</p>
<p>02/02/2016</p>
<p>12/24/2015</p>
....
有没有办法实现他而不格式化xml文件?该文件是另一个系统的一部分,需要以指定的格式。
非常感谢。
答案 0 :(得分:0)
根据您的反馈,问题很明显。您获取根元素的文本值。然而,这只是连接其子节点中的所有文本元素。
对于ajax,我不是专业人士,但我们的想法是选择'假日'标签并在该套装上运行'each'。
由于名称中的整数,您的XML结构使其变得比它应该更难。如果您确定'holiday'标签的所有孩子都是'holidayx'标签,那么您可以带走所有孩子。
$(xml).contents().find('holidays').children().each(function () {
$("#holidates").append('<p>' + $(this).text() + '</p>');
});
我建议尝试这样的事情。