在Safari中使用JQuery解析XML

时间:2010-01-06 06:32:23

标签: jquery xml parsing namespaces

我在下面的XML中有以下内容,并希望在Safari Web浏览器中使用JQuery解析它。我只想打印出userName,并需要一些有关如何编写函数的帮助。

<?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>jpublic24583@pop.net</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>

1 个答案:

答案 0 :(得分:1)

显然$('ns3\\:userName',xml)在webkit下的jQuery 1.3.2中崩溃,但从不担心,Sizzle仍然有权力,只需过滤属性'nodeName'试试$('[nodeName=ns3:userName]',xml)

示例:

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