2011-04-26 166 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