我有以下的XML-
<rows> <row id="5"> <cell>Item1</cell> <attrs> <attr> <id>1</id> <type>CheckBox</type> <values> <value> <id>10</id> </value> <value> <id>11</id> </value> </values> </attr> <attr> <id>2</id> <type>CheckBox</type> <values> <value> <id>20</id> </value> <value> <id>21</id> </value> </values> </attr> </attrs> </row> </rows>
我想做的是循环某一行的每一行。
我试图这样做,以获得所有的attr id,但我也得到了值id。
function fillForm(id){ var theRow = $(theXmlDoc).find('row[id='+id+']').get() $(theRow).find("attr").each(function(i) { alert($(this).find("id").text()); }); }
我也想注意,主要目标是循环每个attr,然后循环每个值,而我有attr的id。
如果你想到一个更简单/更简单的方法来与一些其他图书馆,我开放的建议。
提前致谢,
解决方法
我不清楚你想要循环,我认为你的问题中的一个标签是乱码。你说:“我想做的是循环某行的每个。”我想你在那里有一个标签。
无论如何,这里有一些使用jQuery从解析的xml文档中提取数据的示例。评论会显示什么会被提醒。
我认为问题的一部分是你的id值是兄弟姐妹而不是孩子的属性。看起来像一个更连贯的结构可能是:
<rows> <row id="5"> <cell>Item1</cell> <attrs> <attr id="1"> <type>CheckBox</type> <values> <value> <id>10</id> </value> <value> <id>11</id> </value> </values> </attr> <attr id="2"> <type>CheckBox</type> <values> <value> <id>20</id> </value> <value> <id>21</id> </value> </values> </attr> </attrs> </row> </rows>
但是,如果您无法控制xml,请忽略该建议。