XML を反復処理しています。子要素の 1 つが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'、'Date and signature' です。
jQuery を使用してすべてのアラートを表示するGroupNames
と、すべてが表示されます。
$xmlDoc.find('GroupName').each(function () {
alert($(this).text();
});
ただし、indexOf()
一意の値の配列を構成するために使用しようとすると、そのうちの1つがスキップされるようです!
$xmlDoc.find('GroupName').each(function () {
$groupName = ($(this).text().length == 0) ? 'empty' : $(this).text();
if (groupnames.indexOf($groupName) < 0) {
groupnames.push($groupName);
}
});
この場合、「空」、「VIII」、「日付と署名」が得られます。「VII」はなぜか失われていて、その理由がわかりません。