Bonjour,
Je bloque sur une opération semblant simple mais je ne trouve pas de méthode
J'ai un XML à parser, en utilisant JavaScript (JQuery), et Ajax sous la forme :
<categorieA>
<element key="toto"> blabla </element>
<element key="titi"> blabla </element>
...
</categorieA>
<categorieB>
<element key="tutu"> blabla </element>
<element key="tata"> blabla </element>
...
</categorieB>
|
Les noms de catégories sont nombreux et imprévisibles, pas d'incrémentation ou autre.
J'arrive en Ajax à récupérer tous les "éléments" ainsi que les key associés, de cette façon:
$.ajax({
type: "GET",
url: monFichier.xml,
dataType: "xml",
success: function (data) {
parseXml(data); }
});
function parseXml(xml) {
$(xml).find("element" ).each(
function () {
key = $(this).attr("key" );
value = $(this).text();
});
|
Mais j'ignore comment récupérer les balises "mères", qui plus est pour chaque occurence.
Le but est de générer pour chaque entrée un objet item ayant pour attribut .key + .value + .category, du style:
$(xml).find("element" ).each(
function () {
key = $(this).attr("key" );
value = $(this).text();
category =[b] ???[/b]
});
|
Dans un tel cas il faudrait que category = "balise parente de mon 'element' ".
Sinon imbriquer 2 boucles .each mais je ne vois pas comment, puisque je ne peux faire de $(xml).find(???).each désignant une variable générique qui prendra tout ce qui passe?
Merci d'avance pour votre aide