2010-11-29 26 views
2

J'ai le code XML suivantComment éviter plusieurs nœuds avec la même balise en XML avec un espace de noms utilisant jQuery 'find'?

<ProjectResponse xmlns="Services.Messages" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">  
    <Projects xmlns:a="Services.DTO"> 
    <a:Project> 
     <a:ID>113</a:ID> 
     <a:Name>Test project</a:Name> 
     <a:Documents> 
     <a:ProjectDocument> 
      <a:FileName>DS.docx</a:FileName> 
      <a:ID>65</a:ID> 
      <a:ProjectID>113</a:ProjectID> 
     </a:ProjectDocument>   
     </a:Documents> 
    </a:Project> 
    </Projects> 
</ProjectResponse> 

Lorsque j'effectue $ (this) .Find ('[nodeName = a: ID]') dans chaque «fonction que je reçois 2 pièces d'identité, un projet et un autre à partir de Document. La question est de savoir comment puis-je obtenir uniquement l'ID de projet, pas l'ID de document et d'autres ID qui peuvent se produire?

Répondre

2

Utilisation .children() au lieu de .find() intérieur aussi bien, il semble que pour immédiats des enfants, comme celui-ci:

$(projectsXml).find('Projects').children().each(function() { 
    var projectId = $(this).children('[nodeName=a:ID]').text(); 
}); 
+0

s'il vous plaît vérifier ces questions et dites-moi l'erreur http://stackoverflow.com/questions/18591761/comment-comparer-la-valeur-avec-xml-data –