JQuery遍历XML。如何让它充满活力?
我有下面的JQuery代码,可以按照XML文件应有的方式解析XML文件。在它下面,您还可以找到它解析的XML文件。如您所见,根节点名为GetArchive,后面是另一个名为Y2012的节点 Y2012是一个年节点,它可能包含一年中的所有12个月。每个月可能包含许多条目,每个条目可能包含许多注释 我的问题是如何更改代码,这样我就不必像下面这样硬编码了?我怎样才能让我的代码检查存在多少年节点,并像我下面所做的那样解析每个节点 非常感谢你的帮助JQuery遍历XML。如何让它充满活力?,jquery,xml,Jquery,Xml,我有下面的JQuery代码,可以按照XML文件应有的方式解析XML文件。在它下面,您还可以找到它解析的XML文件。如您所见,根节点名为GetArchive,后面是另一个名为Y2012的节点 Y2012是一个年节点,它可能包含一年中的所有12个月。每个月可能包含许多条目,每个条目可能包含许多注释 我的问题是如何更改代码,这样我就不必像下面这样硬编码了?我怎样才能让我的代码检查存在多少年节点,并像我下面所做的那样解析每个节点 非常感谢你的帮助 $.get('getArchive.xml', null
$.get('getArchive.xml', null, function (data) {
// PARSE 2012 JANUARY NODES.
var ul = $('<ul/>').fadeIn(1000).appendTo('#GetArchive');
var JanEntries = $(data).find('GetArchive Y2012 Jan Entry').each( function(){
var JanEntryId = $(this).find("id").text(); ul.append('<li>' + JanEntryId + '</li>');
var JanEntryDate = $(this).find("date").text(); ul.append('<li>' + JanEntryDate + '</li>');
var JanEntryTime = $(this).find("time").text(); ul.append('<li>' + JanEntryTime + '</li>');
var JanEntrytitle = $(this).find("title").text(); ul.append('<li>' + JanEntrytitle + '</li>');
var JanEntryBody = $(this).find("body").text(); ul.append('<li>' + JanEntryBody + '</li>');
$(this).find("Comment").each(function () {
var CommentId = $(this).find("cid").text(); ul.append('<li>' + CommentId + '</li>');
var CommentDate = $(this).find("cdate").text(); ul.append('<li>' + CommentDate + '</li>');
var CommentTime = $(this).find("ctime").text(); ul.append('<li>' + CommentTime + '</li>');
var CommentFrom = $(this).find("cfrom").text(); ul.append('<li>' + CommentFrom + '</li>');
var CommentBody = $(this).find("cbody").text(); ul.append('<li>' + CommentBody + '</li>');
});
});
// PARSE 2012 FEBRUARY NODES.
var ul = $('<ul/>').fadeIn(1000).appendTo('#GetArchive');
var JanEntries = $(data).find('GetArchive Y2012 Feb Entry').each( function(){
var FebEntryId = $(this).find("id").text(); ul.append('<li>' + FebEntryId + '</li>');
var FebEntryDate = $(this).find("date").text(); ul.append('<li>' + FebEntryDate + '</li>');
var FebEntryTime = $(this).find("time").text(); ul.append('<li>' + FebEntryTime + '</li>');
var FebEntrytitle = $(this).find("title").text(); ul.append('<li>' + FebEntrytitle + '</li>');
var FebEntryBody = $(this).find("body").text(); ul.append('<li>' + FebEntryBody + '</li>');
$(this).find("Comment").each(function () {
var CommentId = $(this).find("cid").text(); ul.append('<li>' + CommentId + '</li>');
var CommentDate = $(this).find("cdate").text(); ul.append('<li>' + CommentDate + '</li>');
var CommentTime = $(this).find("ctime").text(); ul.append('<li>' + CommentTime + '</li>');
var CommentFrom = $(this).find("cfrom").text(); ul.append('<li>' + CommentFrom + '</li>');
var CommentBody = $(this).find("cbody").text(); ul.append('<li>' + CommentBody + '</li>');
});
});
// PARSE 2011 JANUARY NODES.
var ul = $('<ul/>').fadeIn(1000).appendTo('#GetArchive');
var JanEntries = $(data).find('GetArchive Y2011 Jan Entry').each( function(){
var JanEntryId = $(this).find("id").text(); ul.append('<li>' + JanEntryId + '</li>');
var JanEntryDate = $(this).find("date").text(); ul.append('<li>' + JanEntryDate + '</li>');
var JanEntryTime = $(this).find("time").text(); ul.append('<li>' + JanEntryTime + '</li>');
var JanEntrytitle = $(this).find("title").text(); ul.append('<li>' + JanEntrytitle + '</li>');
var JanEntryBody = $(this).find("body").text(); ul.append('<li>' + JanEntryBody + '</li>');
$(this).find("Comment").each(function () {
var CommentId = $(this).find("cid").text(); ul.append('<li>' + CommentId + '</li>');
var CommentDate = $(this).find("cdate").text(); ul.append('<li>' + CommentDate + '</li>');
var CommentTime = $(this).find("ctime").text(); ul.append('<li>' + CommentTime + '</li>');
var CommentFrom = $(this).find("cfrom").text(); ul.append('<li>' + CommentFrom + '</li>');
var CommentBody = $(this).find("cbody").text(); ul.append('<li>' + CommentBody + '</li>');
});
});
// PARSE 2011 FEBRUARY NODES.
var ul = $('<ul/>').fadeIn(1000).appendTo('#GetArchive');
var JanEntries = $(data).find('GetArchive Y2011 Feb Entry').each( function(){
var FebEntryId = $(this).find("id").text(); ul.append('<li>' + FebEntryId + '</li>');
var FebEntryDate = $(this).find("date").text(); ul.append('<li>' + FebEntryDate + '</li>');
var FebEntryTime = $(this).find("time").text(); ul.append('<li>' + FebEntryTime + '</li>');
var FebEntrytitle = $(this).find("title").text(); ul.append('<li>' + FebEntrytitle + '</li>');
var FebEntryBody = $(this).find("body").text(); ul.append('<li>' + FebEntryBody + '</li>');
$(this).find("Comment").each(function () {
var CommentId = $(this).find("cid").text(); ul.append('<li>' + CommentId + '</li>');
var CommentDate = $(this).find("cdate").text(); ul.append('<li>' + CommentDate + '</li>');
var CommentTime = $(this).find("ctime").text(); ul.append('<li>' + CommentTime + '</li>');
var CommentFrom = $(this).find("cfrom").text(); ul.append('<li>' + CommentFrom + '</li>');
var CommentBody = $(this).find("cbody").text(); ul.append('<li>' + CommentBody + '</li>');
});
});
}, 'xml');
$.get('getArchive.xml',null,函数(数据){
//解析2012年1月节点。
var ul=$(“
”).fadeIn(1000).appendTo(“#GetArchive”);
var JanEntries=$(数据).find('GetArchive Y2012 Jan Entry')。每个(函数(){
var JanEntryId=$(this.find(“id”).text();ul.append(“”+JanEntryId+” );
var JanEntryDate=$(this.find(“date”).text();ul.append(“”+JanEntryDate+” );
var JanEntryTime=$(this.find(“time”).text();ul.append(“”+JanEntryTime+” );
var janentrytle=$(this.find(“title”).text();ul.append(“”+janentrytle+” );
var JanEntryBody=$(this.find(“body”).text();ul.append(“”+JanEntryBody+” );
$(this.find(“Comment”).each(函数(){
var CommentId=$(this.find(“cid”).text();ul.append(“”+CommentId+” );
var CommentDate=$(this.find(“cdate”).text();ul.append(“”+CommentDate+” ”);
var CommentTime=$(this.find(“ctime”).text();ul.append(“”+CommentTime+” ”);
var CommentFrom=$(this.find(“cfrom”).text();ul.append(“”+CommentFrom+” );
var CommentBody=$(this.find(“cbody”).text();ul.append(“”+CommentBody+” );
});
});
//解析2012年2月的节点。
var ul=$(“
”).fadeIn(1000).appendTo(“#GetArchive”);
var JanEntries=$(数据).find('GetArchive Y2012 Feb Entry')。每个(函数(){
var FebEntryId=$(this.find(“id”).text();ul.append(“”+FebEntryId+” );
var FebEntryDate=$(this.find(“date”).text();ul.append(“”+FebEntryDate+” );
var FebEntryTime=$(this.find(“time”).text();ul.append(“”+FebEntryTime+” );
var FebEntrytitle=$(this.find(“title”).text();ul.append(“”+FebEntrytitle+” );
var FebEntryBody=$(this.find(“body”).text();ul.append(“”+FebEntryBody+” );
$(this.find(“Comment”).each(函数(){
var CommentId=$(this.find(“cid”).text();ul.append(“”+CommentId+” );
var CommentDate=$(this.find(“cdate”).text();ul.append(“”+CommentDate+” ”);
var CommentTime=$(this.find(“ctime”).text();ul.append(“”+CommentTime+” ”);
var CommentFrom=$(this.find(“cfrom”).text();ul.append(“”+CommentFrom+” );
var CommentBody=$(this.find(“cbody”).text();ul.append(“”+CommentBody+” );
});
});
//解析2011年1月节点。
var ul=$(“
”).fadeIn(1000).appendTo(“#GetArchive”);
var JanEntries=$(数据).find('GetArchive Y2011 Jan Entry')。每个(函数(){
var JanEntryId=$(this.find(“id”).text();ul.append(“”+JanEntryId+” );
var JanEntryDate=$(this.find(“date”).text();ul.append(“”+JanEntryDate+” );
var JanEntryTime=$(this.find(“time”).text();ul.append(“”+JanEntryTime+” );
var janentrytle=$(this.find(“title”).text();ul.append(“”+janentrytle+” );
var JanEntryBody=$(this.find(“body”).text();ul.append(“”+JanEntryBody+” );
$(this.find(“Comment”).each(函数(){
var CommentId=$(this.find(“cid”).text();ul.append(“”+CommentId+” );
var CommentDate=$(this.find(“cdate”).text();ul.append(“”+CommentDate+” ”);
var CommentTime=$(this.find(“ctime”).text();ul.append(“”+CommentTime+” ”);
var CommentFrom=$(this.find(“cfrom”).text();ul.append(“”+CommentFrom+” );
var CommentBody=$(this.find(“cbody”).text();ul.append(“”+CommentBody+” );
});
});
//解析2011年2月的节点。
var ul=$(“
”).fadeIn(1000).appendTo(“#GetArchive”);
var JanEntries=$(数据).find('GetArchive Y2011 Feb Entry')。每个(函数(){
var FebEntryId=$(this.find(“id”).text();ul.append(“”+FebEntryId+” );
var FebEntryDate=$(this.find(“date”).text();ul.append(“”+FebEntryDate+” );
var FebEntryTime=$(this.find(“time”).text();ul.append(“”+FebEntryTime+” );
var FebEntrytitle=$(this.find(“title”).text();ul.append(“”+FebEntrytitle+” );
var FebEntryBody=$(this.find(“body”).text();ul.append(“”+FebEntryBody+” );
$(this.find(“Comment”).each(函数(){
var CommentId=$(this.find(“cid”).text();ul.append(“”+CommentId+” );
var CommentDate=$(this.find(“cdate”).text();ul.append(“”+CommentDate+” ”);
var CommentTime=$(this.find(“ctime”).text();ul.append(“”+CommentTime+” ”);
var CommentFrom=$(this.find(“cfrom”).text();ul.append(“”+CommentFrom+” );
var CommentBody=$(this.find(“cbody”).text();ul.append(“”+CommentBody+” );
});
});
}“xml”);
这是它解析的XML文件
<?xml version="1.0" encoding="utf-8"?>
<GetArchive>
<Y2012>
<Jan>
<Entry>
<id><b>Jan Entry ID 1</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Jan Comment ID 1</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Jan Comment ID 2</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
<Entry>
<id><b>Jan Entry ID 2</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Jan Comment ID 3</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Jan Comment ID 4</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
</Jan>
<Feb>
<Entry>
<id><b>Feb Entry ID 1</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Feb Comment ID 1</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Feb Comment ID 2</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
<Entry>
<id><b>Feb Entry ID 2</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Feb Comment ID 3</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Feb Comment ID 4</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
</Feb>
</Y2012>
<Y2011>
<Jan>
<Entry>
<id><b>Jan Entry ID 1</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Jan Comment ID 1</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Jan Comment ID 2</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
<Entry>
<id><b>Jan Entry ID 2</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Jan Comment ID 3</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Jan Comment ID 4</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
</Jan>
<Feb>
<Entry>
<id><b>Feb Entry ID 1</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Feb Comment ID 1</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Feb Comment ID 2</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
<Entry>
<id><b>Feb Entry ID 2</b></id>
<date>entry date</date>
<time>entry time</time>
<title>entry title</title>
<body>entry <b>body</b>! html friendly</body>
<Comments>
<Comment>
<cid>Feb Comment ID 3</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
<Comment>
<cid>Feb Comment ID 4</cid>
<cdate>comment date</cdate>
<ctime>comment time</ctime>
<cfrom>comment from</cfrom>
<cbody>comment body! text only</cbody>
</Comment>
</Comments>
</Entry>
</Feb>
</Y2011>
</GetArchive>
b条目ID 1/b
参赛日期
进场时间
参赛作品名称
进入b正文/b!html友好
Jan评论ID 1
通信
$(data).find('Year').each(function() {
$(this).find('Month').each(function() {
$(this).find('Entry').each(function() {
// append id, date, time, title, body
$(this).find('Comment').each(function() {
// append comment id, date, time, from, body
});
});
});
});