2013-10-31 51 views
0

我的XML看起来像这样:jQuery的:阅读或解析XML

<Container> 
<name>x</name> 
<id>2</id> 
</Container> 

准确的说,这是鉴于我的XML结果来源: xml result

我jQuery代码:

$.ajax({ 
         type: "post", 
         url: "somefile.jsp", 
         dataType: "xml", 
         success: function(xml) { 


          alert("123:"+xml+":321"); 


          }, 
         error: function(httpRequest, textStatus, errorThrown) { 
         alert("status=" + textStatus + ",error=" + errorThrown); 

         } 
         }); 

问题:如何从jquery中读取它并将名称和ID分配给变量?
问题:警报返回我的XML文档对象

+0

'var $ xml = $(xml)'现在使用'$ xml'来代替普通的jQuery对象 – megawac

+0

变量名称和ID分配如何? – Teddybugs

+0

我会写一个答案 – megawac

回答

1

设置dataType酒店为jQuery导致使用xml文档调用回调函数success。现在只是jQuery把这个包:

success: function(xml) { 
    var $xml = $(xml); 
    var name = $xml.find('name').text(); 
    var id = $xml.find('id').text(); 
    alert("123:"+ id + " " + name +":321"); //alerts "123: 2 x:321") 
} 
+0

我复制完全你的代码,我看到id和名称是空的, – Teddybugs

+0

提醒显示: 123::321 – Teddybugs

+0

我在查看源添加了我的xml结果的图片,它有空行和换行符。 – Teddybugs

2

由于数据类型为XML,成功回调得到一个XML文档作为结果,为了使用jQuery查找元素,你需要使用创建一个jQuery包装$(xml)那么你就可以在新的对象上使用jQuery方法如下图所示

var $xml = $(xml) 
alert("123:"+$xml.find('name').text()+":321"); 

演示:Fiddle

+0

不工作,我没有看到任何提醒 – Teddybugs

+0

@David看到提琴 –

+0

我添加了我的xml结果的图片在我的问题来看,它有空行和换行符。 – Teddybugs

0

试试这个:VAR容器= $ xml.find( “容器”)文本(); 如果var容器包含整个xml,那么你可以进一步找到你想要的元素。