2011-09-10 92 views
-3
var s="attr" 
    var i=$(s) 
    // jQuery(elem).attr(attr,eval("elm"+attr)); 
    jQuery(elem).$(s)(attr,eval("elm"+attr));//i tried this. 

如何在上面的代碼中分配一個變量名(代替s),這樣我需要添加一個屬性元素「elem」。如何爲jQuery分配變量值?

+0

什麼是轉換的規則?你怎麼沒有改變成Rollno? 70到1020?! – svick

+0

對不起。我誤加了。沒有規則。我只是想將xml轉換爲json格式。唯一的事情是我想在vb.net的Windows應用程序中做到這一點。 –

+0

您更新的代碼不是XML。 ''由於以下原因無法生效。你能提供一個合適的樣本嗎? – svick

回答

0

經過快速搜索,我發現這個準備好了XML to JSON stylesheet這看起來應該很好。

+0

感謝您的回覆。當我嘗試使用W3School XSLT編輯器進行轉換時,它會引發錯誤。給出下面的鏈接。 http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_if –

+0

什麼是錯誤,以及如何將XML導入JSON樣式表? – Fishcake

+0

順便說一下,您發佈的這些鏈接不會在您自己的會話之外顯示任何內容。 – Fishcake

0

JSON和XML並不真正兼容,因此您必須弄清楚如何在它們之間進行轉換。例如,在XML中,通常有多個與兄弟相同名稱的元素(可以有另一個<ROLL>)。在JSON中,你必須使用數組來表示這個。但是,如果使用「當XML中有多個同名元素具有相同名稱時它們形成JSON數組」的規則,則不會得到一致的結果。許多元素會產生數組,一個會產生正常的對象,零不會產生任何東西。

隨着牢記注意事項這個樣子,並使用LINQ to XML和JSON.NET,你可以做這樣的:

Function Process(element As XElement) As JObject 
    Dim result = New JObject 

    For Each attribute In element.Attributes() 
     result.Add(attribute.Name.LocalName, attribute.Value) 
    Next 

    Dim elementGroups = element.Elements().GroupBy(Function(e) e.Name) 

    For Each elementGroup In elementGroups 
     If elementGroup.Count() = 1 Then 
      result.Add(elementGroup.Key.LocalName, Process(elementGroup.Single())) 
     Else 
      Dim array = New JArray 

      For Each child In elementGroup 
       array.Add(Process(child)) 
      Next 

      result.Add(elementGroup.Key.LocalName, array) 
     End If 
    Next 

    Return result 
End Function