我正在迭代XML。其中一个子元素是GroupName
,它在XML字符串/文件中不是唯一的。因此,我试图在数组中放置 innertext 的不同(唯一)出现,如果你愿意的话,这些GroupName
标签。
<GroupName></GroupName>
<GroupName></GroupName>
<GroupName>VIII</GroupName>
<GroupName>Date and signature</GroupName>
<GroupName>Date and signature</GroupName>
<GroupName>Date and signature</GroupName>
<GroupName>Date and signature</GroupName>
<GroupName>VII</GroupName>
在这种特殊情况下,GroupNames
是[空字符串],'VII','VIII'和'日期和签名'。
当我使用jQuery提醒所有GroupNames
时,会显示所有内容:
$xmlDoc.find('GroupName').each(function () {
alert($(this).text();
});
但是,当我尝试使用indexOf()
来组成一个唯一值数组时,其中一个似乎被跳过了!
$xmlDoc.find('GroupName').each(function () {
$groupName = ($(this).text().length == 0) ? 'empty' : $(this).text();
if (groupnames.indexOf($groupName) < 0) {
groupnames.push($groupName);
}
});
在这种情况下,我得到'空','八'和'日期和签名'。 “VII”不知何故丢失了,我无法弄清楚原因。