2010-01-06 5 views
0

J'ai ci-dessous XML ci-dessous et je voudrais analyser cela avec JQuery dans le navigateur Web Safari. Je veux juste imprimer le userName et ai besoin de l'aide avec comment la fonction serait écrite.Analyser XML en utilisant JQuery dans Safari

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ns3:Account xmlns:ns2="http://oec.api.opsource.net/schemas/organization" .. > 
<ns3:userName>rdyer</ns3:userName> 
<ns3:fullName>Joe Public</ns3:fullName> 
<ns3:firstName>Joe</ns3:firstName> 
<ns3:lastName>Public</ns3:lastName> 
<ns3:emailAddress>[email protected]</ns3:emailAddress> 
<ns3:orgId>1831c1a9-9c03-44df-a5a4-f2a4662d6bde</ns3:orgId> 
<ns3:roles> 
<ns3:role> 
<ns3:name>primary administrator</ns3:name> 
</ns3:role> 
</ns3:roles> 
</ns3:Account> 
+0

Similaire: http://stackoverflow.com/questions/853740/jquery-xml-parsing-with-namespaces – gnarf

Répondre

1

Apparemment $('ns3\\:userName',xml) pauses dans jQuery 1.3.2 sous WebKit, mais ne craignez rien, Sizzle a le pouvoir encore, filtrez simplement l'attribut 'nodeName' essayer $('[nodeName=ns3:userName]',xml)

Exemple:

<div id='username'></div> 
<script> 
$(function() { 
    // When the DOM is ready - perform AJAX to get the XML: 
    $.get('/myxml.xml', {}, function(xml) { 
    var $username = $("[nodeName=ns3:userName]", xml); 
    // put the text from our node into the text of the empty div: 
    $("#username").text($username.text()); 
    }, "xml"); 
}); 
</script> 
+0

Et si je n'utilisais pas jQuery? D'autres options? – Simon

+0

Cette méthode fonctionne avec jQuery très bien (sizzle en fait partie) désolé si cela était déroutant ... Je ne suis pas sûr de façons non-jQuery de l'analyser. – gnarf