我正在尝试使用jquery删除重复的xml注释,可以帮助吗?
我的xml:
<Accounts>
<Account>
<Company>Company 1</Company>
<AccountNo>12345</AccountNo>
<CCY>EUR</CCY>
<Link>Link</Link>
<StatusIMG>Approved</StatusIMG>
</Account>
<Account>
<Company>Company 1</Company>
<AccountNo>12345</AccountNo>
<CCY>EUR</CCY>
<Link>Link</Link>
<StatusIMG>Approved</StatusIMG>
</Account>
<Account>
<Company>Company 1</Company>
<AccountNo>12345</AccountNo>
<CCY>EUR</CCY>
<Link>Link</Link>
<StatusIMG>Approved</StatusIMG>
</Account>
</Accounts>
JS:
$(document).ready(function () {
var LatestAccounturl = "scripts/jqwidgets/sampledata/latestAccountUpdates.xml";
var LatestAccountsource =
{
datatype: "xml",
mtype: 'GET',
datafields: [
{ name: 'Company', type: 'String'},
{ name: 'AccountNo', type: 'int' },
{ name: 'CCY', type: 'String' },
{ name: 'Link', type: 'bool' },
{ name: 'StatusIMG', type: 'String' }
],
root: "Accounts",
record: "Account",
url: LatestAccounturl
};
var xml = $(xml);
$('Accounts > Company', xml).each(function() {
alert($(this).text());
});
});
我想检查<company>
节点是否具有相同的值(重复),然后我需要删除重复的项目,为此第一步我试图获取xml节点文本值,这是不行的在我的警报:(任何解决方案或更好的方法?
答案 0 :(得分:0)
问题是选择:Accounts > Company
尝试选择直接子项,但在xml中,公司不是Accounts
的直接子项。
正确的是
$('Accounts Company', xml).each(function() {
alert($(this).text());
});
没有>
或
$('Accounts > Account', xml).each(function() {
alert($(this).find("Company").text());
});
这将是优先方法,因为this
将保留完整帐户....现在您可以检查已存在的公司并使用$(this).remove()
删除节点,以防它已经本。