Frage von ITBloegg, 47

Hilfe gesucht für XML einlesen und per JQuery verarbeiten?

Ich habe folgende XML Aufbau:

<memberships total_count="42" offset="0" limit="50" type="array">
<membership>
<id>8433</id>
<project id="475" name="..."/>
<user id="100" name="blabla"/>
<roles type="array">
<role id="3" name="Manager"/>
<role id="3" name="Manager" inherited="true"/>
</roles>
</membership>
<membership>
<id>8434</id>
<project id="475" name="..."/>
<user id="24" name="Kunde"/>
<roles type="array">
<role id="7" name="Customer"/>
</roles>
</membership>

PS: die < und > sind im XML korrekt, hier werden diese aber so toll angezeigt...

Nun lese ich per JQuery das XML ein, und anschliessend muss ich dies Verarbeiten. Generell habe ich eine User ID $( "#issue_assigned_to_id" ).val() und muss überprüfen ob diese der Gruppe 7 (Customer) zugewisen ist oder nicht.

Irgendwie will das nicht, soweit bis Jetzt:

$.ajax({
                    url: "https:/.../memberships.xml",
                    headers: { "Accept-Encoding" : "gzip" },
                    type: "GET",
                    dataType: "xml",
                    success: function (xml) {
                    
                        var kunde = 0;
                        $(xml).find("membership").each(function() {
                            var userid = $(this).find('user').attr('id');
                            // hier habe ich den korrekten user
                            if (userid == $( "#issue_assigned_to_id" ).val()) {
                                alert("user gefunden");
                                var role = $(this).find('role');
                                //hier kann ich nciht erneut each(function.. nutzen, gibt error... 
                                alert(JSON.stringify(role));
                                if(result.length > 0) {
                                    alert("drin");
                                }
                            }
                        });
                    
                        //$( "#issue-form").submit();
                    },
                    error: function (request,te,error) {
                        alert("Fehler: /" + project + "/\r\n" + error);
                        $( "#issue-form").submit();
                    }
                });

Geht sicher 100 Mal einfacher. Aber bekomme es einfach nicht hin. Um Hilfe bin ich dankbar.

Grüsse Stefan

Antwort
von RedKungFuMastr, 14

Hast du mal die jQuery Dokumentation durchforstet??

https://api.jquery.com/jQuery.parseXML/

Edit: Btw. es ist sauberer ohne Attribute zu arbeiten, also nutze am besten nur die Tags...

Keine passende Antwort gefunden?

Fragen Sie die Community