I've searched up and down but cannot find what I am looking for.
I am pulling data using a pretty basic jQuery.ajax call:
function retrieveFeed() {
$.ajax({
type: "GET",
url: "http://xxxxx/taskdata.xml",
beforeSend: function(XMLHttpRequest) {
return true;
},
timeout: 5000,
dataType: "xml",
success: function(data) {
parseXML(data);
},
error: function() {
console.log("Error retrieving XML");
}
});
}
The XML is really simple:
<tasks>
<task>
<title>Refresh Sports page code base</title>
<id>15276645606996729654</id>
<owners>
<owner>
bfranklin
</owner>
<owner>
bting
</owner>
</owners>
<开发者_JAVA百科;/task>
<task>
<title>Security audit for college sports pages</title>
<id>12019410900674133028</id>
<owners>
<owner>
rgoulet
</owner>
<owner>
bfranklin
</owner>
</owners>
</task>
<task>
<title>Fill holes in site monitoring</title>
<id>828664522750709776</id>
<owners>
<owner>
rgoulet
</owner>
<owner>
dgreene
</owner>
<owner>
lkeene
</owner>
</owners>
</task>
</tasks>
What I am trying to do is take a name, say rgoulet, and retrieve the title and/or id of the tasks assigned to him. So the first goal is to search my jQuery object $(data) for any owner element with the text "rgoulet". Next I want to get the title and id directly above it.
I know this has to be possible but I'm stumped. I've seen "parents" but I don't know how to specify. Plus, I have tried a few ways of searching $(data) for every instance of owner with rgoulet but all have ended up in the all-so-descriptive "parse error". :)
Thanks in advance!
Once you've found the correct <owner>
containing 'rgoulet'
, use .closest('task')
to find the nearest parent element of type <task>
:
var $task = $(data).find("owner:contains('rgoulet')").closest('task');
精彩评论