private static XElement WriteElement(PlistElement el) { if (el is PlistElementBoolean) { return(new XElement((XName)(!(el as PlistElementBoolean).value ? "false" : "true"))); } if (el is PlistElementInteger) { return(new XElement((XName)"integer", (object)(el as PlistElementInteger).value.ToString())); } if (el is PlistElementString) { return(new XElement((XName)"string", (object)(el as PlistElementString).value)); } if (el is PlistElementReal) { return(new XElement((XName)"real", (object)(el as PlistElementReal).value.ToString())); } if (el is PlistElementDate) { return(new XElement((XName)"date", (object)(el as PlistElementDate).value.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"))); } if (el is PlistElementDict) { PlistElementDict plistElementDict = el as PlistElementDict; XElement xelement1 = new XElement((XName)"dict"); foreach (KeyValuePair <string, PlistElement> keyValuePair in (IEnumerable <KeyValuePair <string, PlistElement> >)plistElementDict.values) { XElement xelement2 = new XElement((XName)"key", (object)keyValuePair.Key); XElement xelement3 = PlistDocument.WriteElement(keyValuePair.Value); if (xelement3 != null) { xelement1.Add((object)xelement2); xelement1.Add((object)xelement3); } } return(xelement1); } if (!(el is PlistElementArray)) { return((XElement)null); } PlistElementArray plistElementArray = el as PlistElementArray; XElement xelement4 = new XElement((XName)"array"); foreach (PlistElement el1 in plistElementArray.values) { XElement xelement1 = PlistDocument.WriteElement(el1); if (xelement1 != null) { xelement4.Add((object)xelement1); } } return(xelement4); }
public string WriteToString() { XElement xelement1 = PlistDocument.WriteElement((PlistElement)this.root); XElement xelement2 = new XElement((XName)"plist"); xelement2.Add((object)new XAttribute((XName)"version", (object)this.version)); xelement2.Add((object)xelement1); XDocument doc = new XDocument(); doc.Add((object)xelement2); return(PlistDocument.CleanDtdToString(doc, this.documentType).Replace("\r\n", "\n")); }