Comment ne récupérer que les balises enfant ?
Bonjour,
J'ai un programme (voir ci-dessous) qui me permet de récupérer un fichier xml (via ajax et jQuery), seulement, je n'arrive pas à avoir une réponse suffisamment précise, au niveau de la requête que je fais... A savoir; j'aimerais que seuls les contenus enfants soit affichés ->
* Enfant1
* Enfant2
et pas le reste du contenu "descendant", comme c'est le cas actuellement !
Si j'ai bien compris, la fonction "text()" que j'utilise ramène tout le contenu descendant -> Existe t-il une alternative (autre fonction, par exemple) qui me permette de sélectionner uniquement le texte des balises enfants / à la cible de ma requête jQuery ?
En vous remerciant par avance ! :)
Code XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="UTF-8"?>
<enregistrements>
<r>Trucs et astuces
<r>Parent
<r titre="Cible">Cible
<r>Enfant1
<t>"Texte1"</t>
</r>
<r>Enfant2
<regroupement>Regroupement1
</regroupement>
</r>
</r>
</r>
<r>Extra !</r>
</r>
</enregistrements> |
Code Html:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Parser du XML avec jQuery</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#Menu_apres').click(function(){
$.ajax({
type: "GET",
url: "XML_Essai.xml",
dataType: "xml",
complete : function(data, status) {
var products = data.responseXML;
var appendHtml = "";
$(products).find("r[titre='Cible']").children('r').each(function(){
var enfant = $(this).text();
appendHtml += '<span>* '+enfant+'<br /></span>';
});
$("#Menu_suivant").append(appendHtml);
}});
});
});
</script>
</head>
<body>
<div id="container">
<button class="Click">Récupérer la liste des courses.</button>
<ul id="Accueil" />
</div>
</body>
</html> |