2010-03-31 12 views
5

Örnek c# dynamic with XML, DynamicXml.cs dosyasını değiştirdim ve xml dizgimi ayrıştırdım. tadil edilmiş bir kısım ayrıştırmak içinSeri nesnesini C# dinamik nesnesini javascript tarafından tüketilecek JSON nesnesine dönüştürün

public override bool TryGetMember(GetMemberBinder binder, out object result) 
    { 
     result = null; 
     if (binder.Name == "Controls") 
      result = new DynamicXml(_elements.Elements()); 
     else if (binder.Name == "Count") 
      result = _elements.Count; 
     else 
     { 
      var attr = _elements[0].Attribute(
       XName.Get(binder.Name)); 
      if (attr != null) 
       result = attr.Value; 
      else 
      { 
       var items = _elements.Descendants(
        XName.Get(binder.Name)); 
       if (items == null || items.Count() == 0) 
        return false; 
       result = new DynamicXml(items); 
      } 
     } 
     return true; 
    } 

XML dizgesine aşağıdaki gibidir:

   "< View runat='server' Name='Doc111'>" + 
        "< Caption Name='Document.ConvertToPdf' Value='Allow Conversion to PDF'></ Caption>" + 
        "< Field For='Document.ConvertToPdf' ReadOnly='False' DisplayAs='checkbox' EditAs='checkbox'></ Field>" + 
        "< Field For='Document.Abstract' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" + 
        "< Field For='Document.FileName' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" + 
        "< Field For='Document.KeyWords' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" + 
        "< FormButtons SaveCaption='Save' CancelCaption='Cancel'></ FormButtons>" + 
       "</ View>"; 

dinamik bir şekilde = Yeni DynamicXml (markup_fieldsOnly);

Bu dinamik nesnenin içeriğini (dinamik içinde isim değeri çiftleri) formu formunu JSON nesnesi olarak serileştirmenin ve istemci tarafına (tarayıcı) göndermenin bir yolu var mı?

cevap

1

Json.Net'un oldukça iyi çalıştığını duydum, hiç kullanmadım.

İlgili konular