2010-11-29 4 views
2

Ich habe die folgende XMLWie vermeidet man mehrere Knoten mit dem gleichen Tag in XML mit Namespace mit jQuery "finden"?

<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> 

Wenn i $ (this) führen .find ('[nodeName = a: ID]') in 'jeder' Funktion i 2-IDs erhalten, eine von Projekt- und anderen aus Dokument.

Die Frage ist, wie kann ich nur Projekt-ID, nicht Dokument-ID und andere IDs, die auftreten können?

Antwort

2

Verwenden .children() statt .find() sowohl innerhalb als auch, so dass es nur für sofort Kinder sieht, wie folgt aus:

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

bitte diese Frage prüfen und sagen Sie mir den Fehler http://stackoverflow.com/questions/18591761/how-to-the-value-mit-XML-Daten vergleichen –