2010-03-31 12 views
5

Basierend auf dem Beispiel c# dynamic with XML, änderte ich DynamicXml.cs und analysierte meine XML-Zeichenfolge. der modifizierte Teil ist alsSerialize C# dynamisches Objekt zu JSON-Objekt von JavaScript konsumiert

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; 
    } 

Die XML-Zeichenfolge folgt zu analysieren:

   "< 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>"; 

dynamische Form = new DynamicXml (markup_fieldsOnly);

Gibt es eine Möglichkeit, den Inhalt dieses dynamischen Objekts zu serialisieren (Name Wert Paare innerhalb der dynamischen) Formular als JSON-Objekt und an Client-Seite (Browser) gesendet?

Antwort

1

Ich habe gehört Json.Net funktioniert ziemlich gut, obwohl ich es selbst nie benutzt habe.

Verwandte Themen