2011-04-26 135 views
0

我一直在解析一些XML问题。我无法控制我收到的XML的结构。用jQuery解析XML

<response> 
    <variable name = "variable_name">variable value</variable> 
    <variable name = "variable_name">variable value</variable> 
</response> 

我需要获取variable_name和value并将它们写入网页。然而,变量的数量是动态的。

我已经创建了用于解析不同xml响应的函数,但是我收到的结构对于这些函数是不同的。

我该如何调整以下代码以应答?

function parseSystem(xml){ 
    ControllerFound = true; 
     $(xml).find("response").each(function() 
     { 
      $("#ProjectName").append($(this).find("projectName").text()); 
}); 

干杯

迈克

回答

1

你可以尝试使用:

function parseSystem(xml){ 
     $('variable', xml).each(function() 
     { 
      var var_instance = $(this); 
      $("#container").append("Name: "+var_instance.attr('name')+"Value: "+ var_instance.text()); 
     } 
} 

,并具有在HTML中的container追加值:

<div id="container"></div> 
+0

您需要使选择器$('variable',xml ),你应该通过将它写入一个变量来避免使用$(this)两次。 – amustill 2011-04-26 10:42:59

+0

这实际上是否会将这两个响应写入网页。它看起来对我来说(我是新来的Javascript/jquery),它会将值写入#ProjectName两次,这不是所需的功能。 – 2011-04-26 10:51:46

+0

@Michael我认为现在的回应更清楚一点,您需要在网页上添加值的_container_。 – pconcepcion 2011-04-26 11:26:49