public void ReadXml(XmlReader reader) { var xmlReader = new CremaXmlReader(this); xmlReader.Read(reader); }
public void ReadXml(XmlReader reader, ItemName itemName) { var xmlReader = new CremaXmlReader(this, itemName); xmlReader.Read(reader); }
public void ReadXml(Stream stream) { var xmlReader = new CremaXmlReader(this); xmlReader.Read(stream); }
public void ReadXml(Stream stream, ItemName itemName) { var xmlReader = new CremaXmlReader(this, itemName); xmlReader.Read(stream); }
public void ReadXml(string filename, ItemName itemName) { var xmlReader = new CremaXmlReader(this, itemName); xmlReader.Read(filename); }
public void ReadXml(string filename) { var reader = new CremaXmlReader(this); reader.Read(filename); }
public void ReadXml(TextReader writer) { var xmlReader = new CremaXmlReader(this); xmlReader.Read(writer); }
public void ReadXml(string fileName) { var xmlReader = new CremaXmlReader(this); xmlReader.Read(fileName); }
public void ReadMany(string[] typeFiles, string[] tableFiles, bool schemaOnly) { #if USE_PARALLEL Parallel.ForEach(typeFiles, item => { this.ReadType(item); }); #else foreach (var item in typeFiles) { this.ReadType(item); } #endif var readInfos = new List <CremaXmlReadInfo>(tableFiles.Length); Parallel.ForEach(tableFiles, item => { var info = new CremaXmlReadInfo(item); lock (readInfos) { readInfos.Add(info); } }); #if USE_PARALLEL Parallel.ForEach(readInfos.Where(i => i.IsInherited == false), item => { this.ReadXmlSchema(item.SchemaPath, item.ItemName); }); Parallel.ForEach(readInfos.Where(i => i.IsInherited), item => { this.ReadXmlSchema(item.SchemaPath, item.ItemName); }); #else foreach (var item in readInfos.Where(i => i.IsInherited == false)) { this.ReadXmlSchema(item.SchemaPath, item.ItemName); } foreach (var item in readInfos.Where(i => i.IsInherited)) { this.ReadXmlSchema(item.SchemaPath, item.ItemName); } #endif //if (schemaOnly == false) //{ this.BeginLoad(); #if USE_PARALLEL readInfos.Sort((x, y) => y.XmlSize.CompareTo(x.XmlSize)); var threadcount = 8; var query = from item in readInfos let key = readInfos.IndexOf(item) % threadcount group item by key into g select g; var parallellist = new List <CremaXmlReadInfo>(readInfos.Count); foreach (var item in query) { parallellist.AddRange(item); } try { Parallel.ForEach(parallellist, new ParallelOptions { MaxDegreeOfParallelism = threadcount }, item => { var xmlReader = new CremaXmlReader(this, item.ItemName) { OmitContent = schemaOnly == true }; xmlReader.Read(item.XmlPath); }); } catch (AggregateException e) { throw e.InnerException; } #else foreach (var item in readInfos) { var xmlReader = new CremaXmlReader(this, item.ItemName) { OmitContent = schemaOnly == true }; xmlReader.Read(item.XmlPath); } #endif this.EndLoad(); //} this.Tables.Sort(); }