Я использую следующий код для поиска локального источника xml и Im пытается...
1.) искать/фильтровать для узла xml игрока, где переменная findplayername соответствует атрибуту playname или узлу имени в XML (я могу изменить исходные узлы/атрибуты xml, но я хочу, если это поможет)
2.), то сможете записать/получить доступ к значениям узлов для других узлов, таких как id и twid, которые соответствуют совпадению findplayername - если это имеет смысл.
Я не уверен, как петля и функция должны выглядеть, но вот что я пробовал... может ли кто-нибудь пролить свет на это для меня?
function getTwitterID(findplayername){
$.ajax({
type: "GET",
url: "myxmlfile.xml",
dataType: "xml",
success: function(xml) {
$(data.player).each(function (i, item) {
$(xml).find("name").text() == findplayername;
});
}
});
};
Мой возвращенный XML выглядит так:
<players>
<player playername="Jim Smith">
<id>1</id>
<name>Jim Smith</name>
<twid>abc</twitterid>
</player>
<player playername="Jane Doe">
<id>2</id>
<name>Jane Doe</name>
<twid>xyz</twitterid>
</player>
</players>
EDIT - это отлично работало благодаря @Ohgodwhy:
function getTwitterID(findplayername){
$.ajax({
type: "GET",
url: "myxmlfile.xml"",
dataType: "xml",
success: function(xml) {
$(xml).find('player').each(function(i, item){
if($(this).find('name').text() == findplayername){
console.log($(this).find('twid').text());
}
});
}
});
};
Я не уверен, что это просто плохая копия-макароны или если вы законно заявили свои переменные неправильно, но это должно быть:
$(xml).find('player').each(function(){
$(xml).find('name').text(findplayername);
});
Соблюдайте приведенное выше, вы также не можете использовать jQuery в качестве геттера и сеттера, но вам нужно передать свое значение функции в качестве аргумента, чтобы его можно было оценить. Если я не ошибаюсь в отношении вышеизложенного и должен выполнить сравнение курса:
$(xml).find('player').each(function(){
if($(this).find('name').text() == findplayername)){
//do something
}
});