private static XElement WriteElement(PlistElement el) { if (el is PlistElementBoolean) { var realEl = el as PlistElementBoolean; return(new XElement(realEl.value ? "true" : "false")); } if (el is PlistElementInteger) { var realEl = el as PlistElementInteger; return(new XElement("integer", realEl.value.ToString())); } if (el is PlistElementString) { var realEl = el as PlistElementString; return(new XElement("string", realEl.value)); } if (el is PlistElementDict) { var realEl = el as PlistElementDict; var dictXml = new XElement("dict"); foreach (var kv in realEl.values) { var keyXml = new XElement("key", kv.Key); var valueXml = WriteElement(kv.Value); if (valueXml != null) { dictXml.Add(keyXml); dictXml.Add(valueXml); } } return(dictXml); } if (el is PlistElementArray) { var realEl = el as PlistElementArray; var arrayXml = new XElement("array"); foreach (var v in realEl.values) { var elXml = WriteElement(v); if (elXml != null) { arrayXml.Add(elXml); } } return(arrayXml); } return(null); }
private static XElement WriteElement(PlistElement el) { if (el is PlistElementBoolean) { var realEl = el as PlistElementBoolean; return new XElement(realEl.value ? "true" : "false"); } if (el is PlistElementInteger) { var realEl = el as PlistElementInteger; return new XElement("integer", realEl.value.ToString()); } if (el is PlistElementString) { var realEl = el as PlistElementString; return new XElement("string", realEl.value); } if (el is PlistElementDict) { var realEl = el as PlistElementDict; var dictXml = new XElement("dict"); foreach (var kv in realEl.values) { var keyXml = new XElement("key", kv.Key); var valueXml = WriteElement(kv.Value); if (valueXml != null) { dictXml.Add(keyXml); dictXml.Add(valueXml); } } return dictXml; } if (el is PlistElementArray) { var realEl = el as PlistElementArray; var arrayXml = new XElement("array"); foreach (var v in realEl.values) { var elXml = WriteElement(v); if (elXml != null) arrayXml.Add(elXml); } return arrayXml; } return null; }