2010-09-14 3 views
1

J'essaie d'obtenir la valeur d'un attribut d'un nœud XML et de le définir comme variable à l'aide de JQuery. Est-ce possible?Définition de l'attribut du nœud XML dans une variable

<DataContainer> 
    <Customers> 
     <Customer customerId="7366" customerName="Boardwalk Audi" url="" 
      address="5930 West Plano Pkwy" city="Plano" state="Texas" 
      zipCode="75093" latitude="33.0160690000000000" 
      longitude="-96.8268970000000000"> 
    <Customers> 
<DataContainer> 

Je veux définir l'attribut customerId de 7366 comme une variable pour une utilisation ultérieure comme ci-dessous:

$customerId = customer id from xml node attribute; 

Est-ce possible? Faites-moi savoir si vous avez besoin de plus de précisions. Merci!

+0

Merci d'avoir modifié cela, Canavar. J'oublie toujours le retrait de 4 espaces pour faire le bloc de code lisible. – RyanPitts

Répondre

1

Si vous récupérez les XML dans une requête ajax vous pouvez simplement utiliser .find() pour obtenir le nœud et .attr() pour obtenir le attriute, par exemple:

var cust_id = $(xml).find("Customer").attr("customerId"); 

You can see an example here, garder à l'esprit ce vise à être utilisé dans un rappel ajax finalement en utilisant responseXML (pas seulement une chaîne XML), mais vous obtenez l'idée :)

+0

Génial, travaillé comme un charme! J'aurais dû savoir juste utiliser un sélecteur. Merci pour l'aide super rapide. Et j'aime le lien ... J'utiliserai ça beaucoup, j'en suis sûr! – RyanPitts

+0

Y at-il un moyen de combiner des variables si je fais quelque chose de similaire à votre code ci-dessus. Si j'obtiens l'adresse, la ville, l'état, et les valeurs de zipCode puis-je les combiner en une variable qui produirait comme "5930 West Plano Pkwy, Plano, Texas, 75093"? Merci encore! – RyanPitts

+0

@RyanPitts - Oui, vous pouvez les obtenir tous en tant que variables ou utiliser une seule chaîne, par exemple. 'var n = $ (xml) .find (" Client "); var output = n.attr ("adresse") + "," + n.attr ("ville") + "," + n.attr ("état") + "," + n.attr ("zipCode") ; 'ou prendre un tableau et' .join (",") '... quelle que soit la méthode vraiment, tous la même approche. –

Questions connexes