private void ReadFrom(PListReader reader) { PListObject parent = this; do { switch (reader.TokenType) { case (PListToken.None): break; case (PListToken.StartDict): { PListDict dict = new PListDict(); dict.Parent = parent; parent = dict; break; } case (PListToken.EndDict): { if (parent == this) { return; } parent = parent.Parent; break; } } } while (reader.Read()); }
private static PListDocument Load(PListReader reader) { /*ValidationUtils.ArgumentNotNull(reader, "reader"); * * if (reader.TokenType == JsonToken.None) * { * if (!reader.Read()) * throw JsonReaderException.Create(reader, "Error reading JObject from JsonReader."); * } * * while (reader.TokenType == JsonToken.Comment) * { * reader.Read(); * } * * if (reader.TokenType != JsonToken.StartObject) * { * throw JsonReaderException.Create(reader, "Error reading JObject from JsonReader. Current JsonReader item is not an object: {0}".FormatWith(CultureInfo.InvariantCulture, reader.TokenType)); * } */ PListDocument o = new PListDocument(); // o.SetLineInfo(reader as IJsonLineInfo); o.ReadFrom(reader); return(o); }
private void Application_Startup(object sender, StartupEventArgs e) { string json = "{x:0}"; var r = new JsonTextReader(new StringReader(json)); var xa = new XAttribute("test", 0); XElement x = new XElement("X", xa); var p = xa.Parent; /*string str = VitML.PListParser.Test.Properties.Resources.plist; * PListProperty prop = PListProperty.Parse(str); * string plist = prop.ToString(); * prop = PListProperty.Parse(str); * prop.ToStringIndent(); * * PListProperty p = new PListProperty("plist", * new PListAttribute("ok", "is"), * new PListProperty("ok", 0), * new PListProperty("str", new PListString("val", '\'')) * ); * var plist2 = p.ToString(); */ var str = "{}"; //VitML.PListParser.Test.Properties.Resources.TestStringPList var reader = new PListReader(str); var bld = new PListBuilder(reader); var obj = bld.Parse(); string plist = obj.ToPList(0); /* List<PListToken> tokens = new List<PListToken>(); * PListToken tok = null; * while((tok = reader.GetToken())!=null) * { * tokens.Add(tok); * }*/ Environment.Exit(0); }
public PListBuilder(PListReader reader) { this.reader = reader; }