2010-09-14 47 views
1

我想要獲取XML節點的屬性值,並將其設置爲使用JQuery的變量。這可能嗎?將xml節點的屬性設置爲變量

<DataContainer> 
    <Customers> 
     <Customer customerId="7366" customerName="Boardwalk Audi" url="" 
      address="5930 West Plano Pkwy" city="Plano" state="Texas" 
      zipCode="75093" latitude="33.0160690000000000" 
      longitude="-96.8268970000000000"> 
    <Customers> 
<DataContainer> 

我想設置的7366在客戶屬性,像下面以備後用一個變量:

$customerId = customer id from xml node attribute; 

這可能嗎?讓我知道你是否需要更多的澄清。謝謝!

+0

感謝您編輯Canavar。我總是忘記了4空格縮進,使可讀代碼塊。 – RyanPitts 2010-09-14 21:43:42

回答

1

如果你在一個Ajax請求獲取的XML你可以使用.find()得到節點和.attr()得到attriute,例如:

var cust_id = $(xml).find("Customer").attr("customerId"); 

You can see an example here,記住這是爲了在最後使用responseXML(不只是一個XML字符串)的ajax回調中使用,但你明白了:)

+0

真棒,工作就像一個魅力!我應該知道只使用選擇器。感謝您的超級快速幫助。我喜歡這個鏈接......我會很好的使用它! – RyanPitts 2010-09-14 21:42:29

+0

如果我正在做類似於上面的代碼的東西,是否有方法來組合變量。如果我得到地址,城市,州和zipCode值,我可以將它們合併爲一個變量,輸出爲「5930 West Plano Pkwy,Plano,Texas,75093」?再次感謝! – RyanPitts 2010-09-14 21:59:37

+0

@RyanPitts - 是的,你可以將它們全部作爲變量或使用單個字符串,例如'var n = $(xml).find(「Customer」); var output = n.attr(「address」)+「,」+ n.attr(「city」)+「,」+ n.attr(「state」)+「,」+ n.attr(「zipCode」) ;'或採取一個數組和'.join(「,」)'......真正的方法,所有相同的方法。 – 2010-09-14 22:10:23