private void loadState(XmlFile stateXml) { XmlTextReader textReader = new XmlTextReader(stateXml.fileName); textReader.ReadToFollowing("lightsAndSoundOn"); lightsAndSoundOn = textReader.ReadElementContentAsBoolean(); textReader.ReadToFollowing("safeToDisableChoreo"); safeToDisableChoreo = textReader.ReadElementContentAsBoolean(); textReader.Close(); }
// be careful - have to read nodes in the order they are written! private void loadPreferences(XmlFile prefsXml) { XmlTextReader textReader = new XmlTextReader(prefsXml.fileName); textReader.ReadToFollowing("minimizeToSystemTray"); minimizePref.Checked = textReader.ReadElementContentAsBoolean(); textReader.Close(); }
public static void ReadFromXML(ref XmlTextReader reader) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.Name == XMLPropNames.strAbility) { if (XMLPropNames.strGrandSlam == reader.GetAttribute(XMLPropNames.strName)) ReadGrandSlamAbility(ref reader); else if (XMLPropNames.strSuperKnockBack == reader.GetAttribute(XMLPropNames.strName)) ReadSuperKnockBackAbility(ref reader); else if (XMLPropNames.strRoar == reader.GetAttribute(XMLPropNames.strName)) ReadRoarAbility(ref reader); else if (XMLPropNames.strTornado == reader.GetAttribute(XMLPropNames.strName)) ReadTornadoAbility(ref reader); } else if (reader.Name == XMLPropNames.strInitialization) ReadInitialization(ref reader); else if (reader.Name == XMLPropNames.strVariableSize) mVariableSize = reader.ReadElementContentAsBoolean(); } else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == XMLPropNames.strAgentProperties) break; } }
public void Load(System.Xml.XmlTextReader tr, string localName) { int count; tr.ReadStartElement(localName); _viewDirectionRecentIsFirst = tr.ReadElementContentAsBoolean("DirectionRecentFirst", string.Empty); count = XmlConvert.ToInt32(tr.GetAttribute("Count")); tr.ReadStartElement("ColumnWidths"); _columnWidths = new double[count]; for (int i = 0; i < count; i++) { _columnWidths[i] = tr.ReadElementContentAsInt("Width", string.Empty); } if (count > 0) { tr.ReadEndElement(); // ColumnWidths } if (null != _view) { _view.ColumnWidths = _columnWidths; _columnWidths = null; } tr.ReadEndElement(); }
/// <summary> /// Determinates which version of the xml if this current file, and read color and opacity function from it. /// </summary> /// <param name="fileName">Name of the preset</param> /// <returns>Information about the preset, which includes series of color and opacity function</returns> public PresetInformation ReadXmlFile(String fileName) { try { _reader = new XmlTextReader(Path.Combine(Directory.GetCurrentDirectory(), @"presety\", fileName)); _reader.ReadToFollowing("IndependentColor"); Boolean isIndependent = _reader.ReadElementContentAsBoolean(); if (isIndependent) { return ReadOpacityFunction(fileName, ReadColorFunction()); } return ReadOpacityAndColorFunction(); } catch (Exception e) { logger.ErrorException("Preset file reading exception: "+e.Message, e); logger.Warn(Path.Combine(Directory.GetCurrentDirectory(), @"presety\", fileName)); return new PresetInformation(); } }
public void ParseBodyDefinition(string filename) { Random rand = new Random(); XmlTextReader reader = new XmlTextReader(filename); string name; float var = 1.0f; List<Organ> organ_defs = new List<Organ>(); List<OrganConstructor> bp_organs = new List<OrganConstructor>(); Dictionary<string, string> bp_parents = new Dictionary<string,string>(); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "name": name = reader.ReadElementContentAsString(); break; case "height": height = reader.ReadElementContentAsFloat(); break; case "width": width = reader.ReadElementContentAsFloat(); break; case "depth": depth = reader.ReadElementContentAsFloat(); break; case "variation": var = reader.ReadElementContentAsFloat(); break; case "organ_def": Organ o = parseOrganDefinition(reader); if (o == null) throw new Exception("Error while parsing body definition XML: Organ above line " + reader.LineNumber + " not correctly parsed."); organ_defs.Add(o); break; case "body_part": string guid = System.Guid.NewGuid().ToString(); string bp_name = "ERROR"; float surface = 0.0f; float weight = 0.0f; bool essential = false; int rgb = 0; string display_char = " "; bool symetrical = false; string parent_name = null; bool readingOrgan = false; OrganConstructor temp = new OrganConstructor(); bool bp_done = false; while (reader.Read() && !bp_done) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "name": if (!readingOrgan) bp_name = reader.ReadElementContentAsString(); else temp.alias = reader.ReadElementContentAsString(); break; case "surface": surface = reader.ReadElementContentAsFloat(); break; case "weight": weight = reader.ReadElementContentAsFloat(); break; case "essential": essential = reader.ReadElementContentAsBoolean(); break; case "parent": parent_name = reader.ReadElementContentAsString(); break; case "display_char": display_char = reader.ReadElementContentAsString(); break; case "color": string[] temp_col_arr = reader.ReadElementContentAsString().Split(','); rgb = Util.EncodeRGB(Int32.Parse(temp_col_arr[0]), Int32.Parse(temp_col_arr[1]), Int32.Parse(temp_col_arr[2])); break; case "symetrical": symetrical = reader.ReadElementContentAsBoolean(); break; case "organ": if (readingOrgan) throw new Exception("Error while parsing body definition XML: Organ element not closed before line " + reader.LineNumber + "."); readingOrgan = true; temp = new OrganConstructor(); //set default temp.hit_prob = 1.0f; break; case "type": temp.name = reader.ReadElementContentAsString(); break; case "thickness": temp.thickness = reader.ReadElementContentAsFloat(); break; case "hit_prob": temp.hit_prob = reader.ReadElementContentAsFloat(); break; } break; case XmlNodeType.EndElement: switch (reader.Name) { case "organ": readingOrgan = false; temp.bp_guid = guid; bp_organs.Add(temp); break; case "body_part": BodyPart new_bp = new BodyPart(guid, bp_name, surface, weight, essential, symetrical, display_char[0], rgb); bp_parents.Add(new_bp.GUID, parent_name); parts.Add(new_bp.GUID, new_bp); bp_done = true; break; } break; } } break; } break; case XmlNodeType.EndElement: switch (reader.Name) { } break; } } //load bp_organs into bodyparts, attach bodyparts to Body foreach (BodyPart p in parts.Values) { foreach (OrganConstructor oc in bp_organs) { if (p.GUID == oc.bp_guid) { foreach (Organ o in organ_defs) { if (o.name == oc.name) { p.AddOrgan(new Organ(o, oc.thickness, oc.hit_prob, oc.alias)); } } } } if (bp_parents[p.GUID] != null) { foreach (BodyPart par in parts.Values) { if (par.Name == bp_parents[p.GUID]) p.ConnectToBody(this, par); } } else { p.ConnectToBody(this); } } this.height = (float)(height + (var * (rand.NextDouble() - 0.5))); this.width = (float)(width + (var * (rand.NextDouble() - 0.5))); this.depth = (float)(depth + (var * (rand.NextDouble() - 0.5))); loaded = true; }
public List<DanbooruProvider> Read(string filename = @"DanbooruProviderList.xml") { List<DanbooruProvider> list = new List<DanbooruProvider>(); using (XmlTextReader reader = new XmlTextReader(filename)) { while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name.Equals("DanbooruProviderList")) break; else if (reader.Name.Equals("DanbooruProvider")) { Console.WriteLine(reader.Value); DanbooruProvider newProvider = new DanbooruProvider(); do { reader.Read(); if (reader.NodeType.Equals(XmlNodeType.Element)) { switch (reader.Name) { case "Name": newProvider.Name = reader.ReadElementContentAsString(); break; case "Url": newProvider.Url = reader.ReadElementContentAsString(); break; case "QueryStringJson": newProvider.QueryStringJson = reader.ReadElementContentAsString(); break; case "QueryStringHtml": newProvider.QueryStringHtml = reader.ReadElementContentAsString(); break; case "QueryStringXml": newProvider.QueryStringXml = reader.ReadElementContentAsString(); break; case "Preferred": string preferred = reader.ReadElementContentAsString().ToLowerInvariant(); switch (preferred) { case "json": newProvider.Preferred = PreferredMethod.Json; break; case "xml": newProvider.Preferred = PreferredMethod.Xml; break; case "html": newProvider.Preferred = PreferredMethod.Html; break; default: throw new Exception("Invalid Provider Type in DanbooruProviderList.xml: " + preferred); } break; case "DefaultLimit": newProvider.DefaultLimit = reader.ReadElementContentAsInt(); break; case "HardLimit": newProvider.HardLimit = reader.ReadElementContentAsInt(); break; case "UserName": newProvider.UserName = reader.ReadElementContentAsString(); break; case "Password": newProvider.Password = reader.ReadElementContentAsString(); break; case "UseAuth": newProvider.UseAuth = reader.ReadElementContentAsBoolean(); break; case "PasswordSalt": newProvider.PasswordSalt = reader.ReadElementContentAsString(); break; case "PasswordHash": newProvider.PasswordHash = reader.ReadElementContentAsString(); break; case "BoardType": string type = reader.ReadElementContentAsString(); newProvider.BoardType = (BoardType)Enum.Parse(typeof(BoardType), type); //Type.Equals("Danbooru") ? BoardType.Danbooru:BoardType.Gelbooru ; break; case "TagDownloadUseLoop": newProvider.TagDownloadUseLoop = reader.ReadElementContentAsBoolean(); break; default: break; } } } while (!reader.Name.Equals("DanbooruProvider")); list.Add(newProvider); } break; default: break; } } } return list; }
/// <summary> /// Dient zur Auswertung des Knoten Tabelle /// Es wird eine Tabellen Objekt instanziiert und die entsprechenden Eigenschaften übernommen. /// Falls eine Exception beim Casten der Werte geworfen wird, wird diese gefangen und weitergeleitet /// Bei erfolgreicher Erstellung des Objekts wird der Tabelleninhalt über eine Datenbankanbindung abgefragt. /// Falls eine Exception bei der Abfrage geworfen wird, wird diese gefangen und weitergeleitet. /// Bei erfolgreicher Abfrage wird die Tabelle im Word Dokument hinzugefügt /// </summary> /// <param name="xml"></param> public void Tabelle(string xml) { XmlTextReader subReader = new XmlTextReader(new System.IO.StringReader(xml)); Tabelle table = new Tabelle(); while (subReader.Read()) { if (subReader.NodeType == XmlNodeType.Element) { switch (subReader.Name) { case "id": table.Id = subReader.ReadElementString(); break; case "bold": try { table.Bold = subReader.ReadElementContentAsBoolean(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "background": table.BgColor = subReader.ReadElementString(); break; case "sql": table.Text = subReader.ReadElementString(); break; case "border": try { table.Border = subReader.ReadElementContentAsBoolean(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "font": table.Font = subReader.ReadElementString(); break; case "size": try { table.Size = subReader.ReadElementContentAsInt(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "paragraph": try { table.Paragraph = subReader.ReadElementContentAsInt(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; } } } subReader.Close(); try { table.getContent(connections); } catch (MySql.Data.MySqlClient.MySqlException e) { throw new OpenDocumentException(e.Message); } catch (System.Data.SqlClient.SqlException e) { throw new OpenDocumentException(e.Message); } catch (InvalidCastException) { throw new OpenDocumentException("Datenbankverbindung " + table.Id + " für Tabelle mit Abfrage " + table.Text + " nicht gefunden"); } catch (Exception e) { throw new OpenDocumentException(e.Message); } doc.Table(table); }
private static void ProcessPassTouches(SceneObjectPart obj, XmlTextReader reader) { obj.PassTouches = reader.ReadElementContentAsBoolean("PassTouches", String.Empty); }
/// <summary> /// Determinates which version of the xml if this current file, and read color and opacity function from it. /// </summary> /// <param name="fileName">Name of the preset</param> /// <returns>Information about the preset, which includes series of color and opacity function</returns> public PresetInformation ReadXmlFile(String fileName) { _reader = new XmlTextReader(Path.Combine(@"..\..\presety\",fileName)); _reader.ReadToFollowing("IndependentColor"); Boolean isIndependent = _reader.ReadElementContentAsBoolean(); if (isIndependent) { return ReadOpacityFunction(fileName, ReadColorFunction()); } return ReadOpacityAndColorFunction(); }
private Compiler Parse(string xmlFilePath) { var compiler = new Compiler(); var xmlReader = new XmlTextReader(xmlFilePath); xmlReader.Read(); while (xmlReader.Read()) { switch (xmlReader.Name) { case "name": { compiler.Name = xmlReader.ReadElementContentAsString(); } break; case "location": { compiler.Location = Path.Combine( AppDomain.CurrentDomain.BaseDirectory, xmlReader.ReadElementContentAsString()); } break; case "extension": { compiler.Extension = xmlReader.ReadElementContentAsString().TrimEnd().TrimStart(); } break; case "arguments": { compiler.Arguments = xmlReader.ReadElementContentAsString().TrimEnd().TrimStart(); } break; case "compiledExtension": { compiler.CompiledExtension = xmlReader.ReadElementContentAsString().TrimEnd().TrimStart(); } break; case "needShortName": { compiler.IsNeedShortPath = xmlReader.ReadElementContentAsBoolean(); } break; } } if (compiler.Extension == string.Empty || compiler.Name == string.Empty || compiler.Location == string.Empty || compiler.CompiledExtension == string.Empty || compiler.Arguments == string.Empty) throw new Exception("Bad xml information about compiler"); return compiler; }
private static void ProcessShpSculptEntry(PrimitiveBaseShape shp, XmlTextReader reader) { shp.SculptEntry = reader.ReadElementContentAsBoolean("SculptEntry", String.Empty); }
internal void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of account element, get out of here if (reader.Name == "adjustment" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "account": string href = reader.GetAttribute("href"); this.AccountCode = Uri.UnescapeDataString(href.Substring(href.LastIndexOf("/") + 1)); break; case "uuid": this.Uuid = reader.ReadElementContentAsString(); break; case "description": this.Description = reader.ReadElementContentAsString(); break; case "accounting_code": this.AccountingCode = reader.ReadElementContentAsString(); break; case "origin": this.Origin = reader.ReadElementContentAsString(); break; case "unit_amount_in_cents": this.UnitAmountInCents = reader.ReadElementContentAsInt(); break; case "quantity": this.Quantity = reader.ReadElementContentAsInt(); break; case "discount_in_cents": this.DiscountInCents = reader.ReadElementContentAsInt(); break; case "tax_in_cents": this.TaxInCents = reader.ReadElementContentAsInt(); break; case "total_in_cents": this.TotalInCents = reader.ReadElementContentAsInt(); break; case "currency": this.Currency = reader.ReadElementContentAsString(); break; case "taxable": this.Taxable = reader.ReadElementContentAsBoolean(); break; case "start_date": this.StartDate = reader.ReadElementContentAsDateTime(); break; case "end_date": DateTime endDate; if (DateTime.TryParse(reader.ReadElementContentAsString(), out endDate)) this.EndDate = endDate; break; case "created_at": this.CreatedAt = reader.ReadElementContentAsDateTime(); break; } } } }
private void GenericBool(SceneObjectPart obj, XmlTextReader reader, string name, Type SOPType) { bool val = reader.ReadElementContentAsBoolean(name, ""); SOPType.GetProperty(name).SetValue(obj, val, null); }
/// <summary> /// Hier wird der Knoten Text ausgewertet /// Es wird ein neues Text Objekt instanziiert und die entsprechenden Eigenschaften übergeben /// Falls eine Exception beim Casten der Werte geworfen wird, wird diese gefangen und weitergeleitet /// Bei erfolreicher Erstellung des Objekts wird dieses in dem Word Dokument eingefügt /// </summary> /// <param name="xml">Der Parameter beinhaltet einen Textknoten mit all seinen Unterknoten</param> public void Text(string xml) { XmlTextReader subReader = new XmlTextReader(new System.IO.StringReader(xml)); Text text = new Text(); while (subReader.Read()) { if (subReader.NodeType == XmlNodeType.Element) { switch (subReader.Name) { case "string": text.Content = subReader.ReadElementContentAsString(); break; case "font": text.Font = subReader.ReadElementString(); break; case "size": try { text.Size = subReader.ReadElementContentAsInt(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "paragraph": try { text.Paragraph = subReader.ReadElementContentAsInt(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "style": try { text.Style = subReader.ReadElementContentAsInt(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; case "color": text.Color = subReader.ReadElementString(); break; case "pageBreak": try { text.PageBreak = subReader.ReadElementContentAsBoolean(); } catch (XmlException e) { subReader.Close(); throw new OpenDocumentException(e.Message); } break; } } } subReader.Close(); doc.Text(text); }
internal override void ReadXml(XmlTextReader reader) { UnitAmountInCents.Clear(); SetupFeeInCents.Clear(); while (reader.Read()) { // End of account element, get out of here if (reader.Name == "plan" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; switch (reader.Name) { case "plan_code": PlanCode = reader.ReadElementContentAsString(); break; case "name": Name = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "success_url": SuccessUrl = reader.ReadElementContentAsString(); break; case "cancel_url": CancelUrl = reader.ReadElementContentAsString(); break; case "display_donation_amounts": DisplayDonationAmounts = reader.ReadElementContentAsBoolean(); break; case "display_quantity": DisplayQuantity = reader.ReadElementContentAsBoolean(); break; case "display_phone_number": DisplayPhoneNumber = reader.ReadElementContentAsBoolean(); break; case "bypass_hosted_confirmation": BypassHostedConfirmation = reader.ReadElementContentAsBoolean(); break; case "unit_name": UnitName = reader.ReadElementContentAsString(); break; case "payment_page_tos_link": PaymentPageTOSLink = reader.ReadElementContentAsString(); break; case "plan_interval_length": PlanIntervalLength = reader.ReadElementContentAsInt(); break; case "plan_interval_unit": PlanIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum<IntervalUnit>(); break; case "trial_interval_length": TrialIntervalLength = reader.ReadElementContentAsInt(); break; case "trial_interval_unit": TrialIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum<IntervalUnit>(); break; case "accounting_code": AccountingCode = reader.ReadElementContentAsString(); break; case "created_at": CreatedAt = reader.ReadElementContentAsDateTime(); break; case "tax_exempt": TaxExempt = reader.ReadElementContentAsBoolean(); break; case "unit_amount_in_cents": ReadXmlUnitAmount(reader); break; case "setup_fee_in_cents": ReadXmlSetupFee(reader); break; } } }
internal void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of account element, get out of here if (reader.Name == "plan" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "plan_code": this.PlanCode = reader.ReadElementContentAsString(); break; case "name": this.Name = reader.ReadElementContentAsString(); break; case "description": this.Description = reader.ReadElementContentAsString(); break; case "success_url": this.SuccessUrl = reader.ReadElementContentAsString(); break; case "cancel_url": this.CancelUrl = reader.ReadElementContentAsString(); break; case "display_donation_amounts": this.DisplayDonationAmounts = reader.ReadElementContentAsBoolean(); break; case "display_quantity": this.DisplayQuantity = reader.ReadElementContentAsBoolean(); break; case "display_phone_number": this.DisplayPhoneNumber = reader.ReadElementContentAsBoolean(); break; case "bypass_hosted_confirmation": this.BypassHostedConfirmation = reader.ReadElementContentAsBoolean(); break; case "unit_name": this.UnitName = reader.ReadElementContentAsString(); break; case "payment_page_tos_link": this.PaymentPageTOSLink = reader.ReadElementContentAsString(); break; case "plan_interval_length": this.PlanIntervalLength = reader.ReadElementContentAsInt(); break; case "plan_interval_unit": this.PlanIntervalUnit = (IntervalUnit)Enum.Parse(typeof(IntervalUnit), reader.ReadElementContentAsString(), true); break; case "trial_interval_length": this.TrialIntervalLength = reader.ReadElementContentAsInt(); break; case "trial_interval_unit": this.TrialIntervalUnit = (IntervalUnit)Enum.Parse(typeof(IntervalUnit), reader.ReadElementContentAsString(), true); break; case "accounting_code": this.AccountingCode = reader.ReadElementContentAsString(); break; case "created_at": this.CreatedAt = reader.ReadElementContentAsDateTime(); break; case "unit_amount_in_cents": ReadXmlUnitAmount(reader); break; case "setup_fee_in_cents": ReadXmlSetupFee(reader); break; } } } }
private void ProcessShpLightEntry(PrimitiveBaseShape shp, XmlTextReader reader) { shp.LightEntry = reader.ReadElementContentAsBoolean("LightEntry", String.Empty); }
internal override void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of coupon element, get out of here if ((reader.Name == "coupon" || reader.Name == "redemption") && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; string href; switch (reader.Name) { case "uuid": Uuid = reader.ReadElementContentAsString(); break; case "account": href = reader.GetAttribute("href"); AccountCode = Uri.UnescapeDataString(href.Substring(href.LastIndexOf("/") + 1)); break; case "coupon": href = reader.GetAttribute("href"); CouponCode =Uri.UnescapeDataString( href.Substring(href.LastIndexOf("/") + 1)); break; case "single_use": SingleUse = reader.ReadElementContentAsBoolean(); break; case "total_discounted_in_cents": int discountInCents; if (Int32.TryParse(reader.ReadElementContentAsString(), out discountInCents)) TotalDiscountedInCents = discountInCents; break; case "currency": Currency = reader.ReadElementContentAsString(); break; case "state": State = reader.ReadElementContentAsString(); break; case "subscription_uuid": SubscriptionUuid = reader.ReadElementContentAsString(); break; case "created_at": DateTime date; if (DateTime.TryParse(reader.ReadElementContentAsString(), out date)) CreatedAt = date; break; } } }
internal override void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of account element, get out of here if (reader.Name == "adjustment" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; switch (reader.Name) { case "account": var href = reader.GetAttribute("href"); AccountCode = Uri.UnescapeDataString(href.Substring(href.LastIndexOf("/") + 1)); break; case "uuid": Uuid = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "accounting_code": AccountingCode = reader.ReadElementContentAsString(); break; case "origin": Origin = reader.ReadElementContentAsString(); break; case "unit_amount_in_cents": UnitAmountInCents = reader.ReadElementContentAsInt(); break; case "quantity": Quantity = reader.ReadElementContentAsInt(); break; case "discount_in_cents": DiscountInCents = reader.ReadElementContentAsInt(); break; case "tax_in_cents": TaxInCents = reader.ReadElementContentAsInt(); break; case "total_in_cents": TotalInCents = reader.ReadElementContentAsInt(); break; case "currency": Currency = reader.ReadElementContentAsString(); break; case "tax_exempt": TaxExempt = reader.ReadElementContentAsBoolean(); break; case "start_date": StartDate = reader.ReadElementContentAsDateTime(); break; case "end_date": DateTime endDate; if (DateTime.TryParse(reader.ReadElementContentAsString(), out endDate)) EndDate = endDate; break; case "created_at": CreatedAt = reader.ReadElementContentAsDateTime(); break; case "state": State = reader.ReadElementContentAsString().ParseAsEnum<AdjustmentState>(); break; } } }
public void Load() { this.reader = new XmlTextReader(this.fileToOpen); if(reader.ReadToFollowing("Preferences") && reader.HasAttributes) { this.pNamespace = reader.GetAttribute("namespace"); this.pVersion = reader.GetAttribute("version"); if(reader.ReadToFollowing("General")) { if(reader.ReadToFollowing("Nick")) { this.pNick = reader.ReadElementContentAsString(); } if(reader.ReadToFollowing("ConnectionType")) { string conn = reader.ReadElementContentAsString(); Connection connex; switch(conn) { case "56Kbps": case "Modem": connex = Connection.Modem; break; case "ISDN": connex = Connection.ISDN; break; case "Cable": connex = Connection.Cable; break; case "DSL": connex = Connection.DSL; break; case "Fiber": connex = Connection.Fiber; break; case "T1": connex = Connection.T1; break; case "T3": connex = Connection.T3; break; case "OC3": connex = Connection.OC3; break; case "LAN": connex = Connection.LAN; break; default: connex = Connection.Modem; break; } this.pConnex = connex; } if(reader.ReadToFollowing("Description")) { this.pDesc = reader.ReadElementContentAsString(); } if(reader.ReadToFollowing("Password")) { string hash = reader.GetAttribute("hash"); if(hash != null) { switch(hash) { case "plain": this.pPass = reader.ReadElementContentAsString(); break; } } } if(reader.ReadToFollowing("Contact")) { this.pContact = reader.ReadElementContentAsString(); } if(reader.ReadToFollowing("AutoRegister") && reader.HasAttributes) { this.pAutoReg = reader.ReadElementContentAsBoolean(); } } if(reader.ReadToFollowing("Connection")) { if(reader.ReadToFollowing("RoomLists")) { this.pListSrv.Clear(); string[] arr = (reader.ReadElementContentAsString()).Split(new char[]{';'}); for(int i=0;i<arr.Length;i++) { this.pListSrv.Add(arr[i]); } } } this.loadSuccess = true; } reader.Close(); }
private ImageSettings GetSettings(string path) { var settings = new ImageSettings(); string settingFileLocation = Path.Combine(path, SettingsFileName); if (!File.Exists(settingFileLocation)) { return settings; } XmlTextReader settingsData; // Open the settings file. If it fails here, we throw an exception since we expect the file to be there and readable. using (settingsData = new XmlTextReader(settingFileLocation)) { while (settingsData.Read()) { if (settingsData.NodeType == XmlNodeType.Element) { string nodeName = settingsData.Name; if (nodeName.Equals("FileFormat", StringComparison.OrdinalIgnoreCase)) { settings.Format = settingsData.ReadElementContentAsString().Trim('.'); } else if (nodeName.Equals("Quality", StringComparison.OrdinalIgnoreCase)) { settings.Quality = settingsData.ReadElementContentAsInt(); } else if (nodeName.Equals("MaxSize", StringComparison.OrdinalIgnoreCase)) { settings.MaxSize = settingsData.ReadElementContentAsInt(); } else if (nodeName.Equals("BackgroundColor", StringComparison.OrdinalIgnoreCase)) { string output = settingsData.ReadElementContentAsString(); int temp = Int32.Parse(output, NumberStyles.HexNumber, CultureInfo.InvariantCulture); settings.BackgroundColor = Color.FromArgb(temp); } else if (nodeName.Equals("Base64Encoding", StringComparison.OrdinalIgnoreCase)) { settings.Base64 = settingsData.ReadElementContentAsBoolean(); } else if (nodeName.Equals("TileInXAxis", StringComparison.OrdinalIgnoreCase)) { settings.TileInXAxis = settingsData.ReadElementContentAsBoolean(); } } } } return settings; }
internal override void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of coupon element, get out of here if (reader.Name == "coupon" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; DateTime date; int m; switch (reader.Name) { case "coupon_code": CouponCode = reader.ReadElementContentAsString(); break; case "name": Name = reader.ReadElementContentAsString(); break; case "state": State = reader.ReadElementContentAsString().ParseAsEnum<CouponState>(); break; case "discount_type": DiscountType = reader.ReadElementContentAsString().ParseAsEnum<CouponDiscountType>(); break; case "redemption_resource": RedemptionResource = reader.ReadElementContentAsString().ParseAsEnum<RedemptionResourceType>(); break; case "discount_percent": DiscountPercent = reader.ReadElementContentAsInt(); break; case "redeem_by_date": if (DateTime.TryParse(reader.ReadElementContentAsString(), out date)) RedeemByDate = date; break; case "single_use": SingleUse = reader.ReadElementContentAsBoolean(); break; case "applies_for_months": if (int.TryParse(reader.ReadElementContentAsString(), out m)) AppliesForMonths = m; break; case "duration": Duration = reader.ReadElementContentAsString().ParseAsEnum<CouponDuration>(); break; case "temporal_unit": var element_content = reader.ReadElementContentAsString(); if (element_content != "") TemporalUnit = element_content.ParseAsEnum<CouponTemporalUnit>(); break; case "temporal_amount": if (int.TryParse(reader.ReadElementContentAsString(), out m)) TemporalAmount = m; break; case "max_redemptions": if (int.TryParse(reader.ReadElementContentAsString(), out m)) MaxRedemptions = m; break; case "applies_to_all_plans": AppliesToAllPlans = reader.ReadElementContentAsBoolean(); break; case "applies_to_non_plan_charges": AppliesToNonPlanCharges = reader.ReadElementContentAsBoolean(); break; case "max_redemptions_per_account": if (int.TryParse(reader.ReadElementContentAsString(), out m)) MaxRedemptionsPerAccount = m; break; case "description": HostedDescription = reader.ReadElementContentAsString(); break; case "invoice_description": InvoiceDescription = reader.ReadElementContentAsString(); break; case "unique_code_template": UniqueCodeTemplate = reader.ReadElementContentAsString(); break; case "coupon_type": var type_content = reader.ReadElementContentAsString(); if (type_content != "") Type = type_content.ParseAsEnum<CouponType>(); break; case "created_at": if (DateTime.TryParse(reader.ReadElementContentAsString(), out date)) CreatedAt = date; break; case "plan_codes": ReadXmlPlanCodes(reader); break; case "discount_in_cents": ReadXmlDiscounts(reader); break; } } }
private static void ProcessAllowedDrop(SceneObjectPart obj, XmlTextReader reader) { obj.AllowedDrop = reader.ReadElementContentAsBoolean("AllowedDrop", String.Empty); }
internal override void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of account element, get out of here if ((reader.Name == "transaction") && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; string href; int amount; switch (reader.Name) { case "account": href = reader.GetAttribute("href"); if (null != href) AccountCode = Uri.UnescapeDataString(href.Substring(href.LastIndexOf("/") + 1)); break; case "invoice": href = reader.GetAttribute("href"); if (null != href) { string invoiceNumber = href.Substring(href.LastIndexOf("/") + 1); MatchCollection matches = Regex.Matches(invoiceNumber, "([^\\d]{2})(\\d+)"); if (matches.Count == 1) { InvoicePrefix = matches[0].Groups[1].Value; Invoice = int.Parse(matches[0].Groups[2].Value); } else { Invoice = int.Parse(invoiceNumber); } } break; case "uuid": Uuid = reader.ReadElementContentAsString(); break; case "action": Action = reader.ReadElementContentAsString().ParseAsEnum<TransactionType>(); break; case "amount_in_cents": if (Int32.TryParse(reader.ReadElementContentAsString(), out amount)) AmountInCents = amount; break; case "tax_in_cents": if (Int32.TryParse(reader.ReadElementContentAsString(), out amount)) TaxInCents = amount; break; case "currency": Currency = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "status": var state = reader.ReadElementContentAsString(); Status = "void" == state ? TransactionState.Voided : state.ParseAsEnum<TransactionState>(); break; case "reference": Reference = reader.ReadElementContentAsString(); break; case "test": Test = reader.ReadElementContentAsBoolean(); break; case "voidable": Voidable = reader.ReadElementContentAsBoolean(); break; case "refundable": Refundable = reader.ReadElementContentAsBoolean(); break; case "ip_address": IpAddress = reader.ReadElementContentAsString(); break; case "ccv_result": CCVResult = reader.ReadElementContentAsString(); break; case "avs_result": AvsResult = reader.ReadElementContentAsString(); break; case "avs_result_street": AvsResultStreet = reader.ReadElementContentAsString(); break; case "avs_result_postal": AvsResultPostal = reader.ReadElementContentAsString(); break; case "created_at": DateTime date; if (DateTime.TryParse(reader.ReadElementContentAsString(), out date)) CreatedAt = date; break; case "details": // API docs say not to load details into objects break; } } }
private static void ProcessTIOwnerChanged(TaskInventoryItem item, XmlTextReader reader) { item.OwnerChanged = reader.ReadElementContentAsBoolean("OwnerChanged", String.Empty); }
internal void ReadXml(XmlTextReader reader) { while (reader.Read()) { // End of account element, get out of here if (reader.Name == "add_on" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "add_on_code": this.AddOnCode = reader.ReadElementContentAsString(); break; case "name": this.Name = reader.ReadElementContentAsString(); break; case "display_quantity_on_hosted_page": this.DisplayQuantityOnHostedPage = reader.ReadElementContentAsBoolean(); break; case "default_quantity": this.DefaultQuantity = reader.ReadElementContentAsInt(); break; case "created_at": this.CreatedAt = reader.ReadElementContentAsDateTime(); break; case "unit_amount_in_cents": ReadXmlUnitAmount(reader); break; } } } }
internal override void ReadXml(XmlTextReader reader) { while (reader.Read()) { if (reader.Name == "account" && reader.NodeType == XmlNodeType.EndElement) break; if (reader.NodeType != XmlNodeType.Element) continue; switch (reader.Name) { case "account_code": AccountCode = reader.ReadElementContentAsString(); break; case "state": // TODO investigate in case of incoming data representing multiple states, as https://dev.recurly.com/docs/get-account says is possible State = reader.ReadElementContentAsString().ParseAsEnum<AccountState>(); break; case "username": Username = reader.ReadElementContentAsString(); break; case "email": Email = reader.ReadElementContentAsString(); break; case "first_name": FirstName = reader.ReadElementContentAsString(); break; case "last_name": LastName = reader.ReadElementContentAsString(); break; case "company_name": CompanyName = reader.ReadElementContentAsString(); break; case "vat_number": VatNumber = reader.ReadElementContentAsString(); break; case "tax_exempt": TaxExempt = reader.ReadElementContentAsBoolean(); break; case "entity_use_code": EntityUseCode = reader.ReadElementContentAsString(); break; case "accept_language": AcceptLanguage = reader.ReadElementContentAsString(); break; case "hosted_login_token": HostedLoginToken = reader.ReadElementContentAsString(); break; case "created_at": CreatedAt = reader.ReadElementContentAsDateTime(); break; case "address": Address = new Address(reader); break; case "vat_location_valid": if (reader.GetAttribute("nil") == null) { VatLocationValid = reader.ReadElementContentAsBoolean(); } break; } } }
public static PrimObject LoadPrim(XmlTextReader reader) { PrimObject obj = new PrimObject(); obj.Shape = new PrimObject.ShapeBlock(); obj.Inventory = new PrimObject.InventoryBlock(); reader.ReadStartElement("SceneObjectPart"); if (reader.Name == "AllowedDrop") obj.AllowedDrop = reader.ReadElementContentAsBoolean("AllowedDrop", String.Empty); else obj.AllowedDrop = true; obj.CreatorID = ReadUUID(reader, "CreatorID"); obj.FolderID = ReadUUID(reader, "FolderID"); obj.Inventory.Serial = reader.ReadElementContentAsInt("InventorySerial", String.Empty); #region Task Inventory List<PrimObject.InventoryBlock.ItemBlock> invItems = new List<PrimObject.InventoryBlock.ItemBlock>(); reader.ReadStartElement("TaskInventory", String.Empty); while (reader.Name == "TaskInventoryItem") { PrimObject.InventoryBlock.ItemBlock item = new PrimObject.InventoryBlock.ItemBlock(); reader.ReadStartElement("TaskInventoryItem", String.Empty); item.AssetID = ReadUUID(reader, "AssetID"); item.PermsBase = (uint)reader.ReadElementContentAsInt("BasePermissions", String.Empty); item.CreationDate = Utils.UnixTimeToDateTime((uint)reader.ReadElementContentAsInt("CreationDate", String.Empty)); item.CreatorID = ReadUUID(reader, "CreatorID"); item.Description = reader.ReadElementContentAsString("Description", String.Empty); item.PermsEveryone = (uint)reader.ReadElementContentAsInt("EveryonePermissions", String.Empty); item.Flags = reader.ReadElementContentAsInt("Flags", String.Empty); item.GroupID = ReadUUID(reader, "GroupID"); item.PermsGroup = (uint)reader.ReadElementContentAsInt("GroupPermissions", String.Empty); item.InvType = (InventoryType)reader.ReadElementContentAsInt("InvType", String.Empty); item.ID = ReadUUID(reader, "ItemID"); UUID oldItemID = ReadUUID(reader, "OldItemID"); // TODO: Is this useful? item.LastOwnerID = ReadUUID(reader, "LastOwnerID"); item.Name = reader.ReadElementContentAsString("Name", String.Empty); item.PermsNextOwner = (uint)reader.ReadElementContentAsInt("NextPermissions", String.Empty); item.OwnerID = ReadUUID(reader, "OwnerID"); item.PermsOwner = (uint)reader.ReadElementContentAsInt("CurrentPermissions", String.Empty); UUID parentID = ReadUUID(reader, "ParentID"); UUID parentPartID = ReadUUID(reader, "ParentPartID"); item.PermsGranterID = ReadUUID(reader, "PermsGranter"); item.PermsBase = (uint)reader.ReadElementContentAsInt("PermsMask", String.Empty); item.Type = (AssetType)reader.ReadElementContentAsInt("Type", String.Empty); reader.ReadEndElement(); invItems.Add(item); } if (reader.NodeType == XmlNodeType.EndElement) reader.ReadEndElement(); obj.Inventory.Items = invItems.ToArray(); #endregion Task Inventory PrimFlags flags = (PrimFlags)reader.ReadElementContentAsInt("ObjectFlags", String.Empty); obj.UsePhysics = (flags & PrimFlags.Physics) != 0; obj.Phantom = (flags & PrimFlags.Phantom) != 0; obj.DieAtEdge = (flags & PrimFlags.DieAtEdge) != 0; obj.ReturnAtEdge = (flags & PrimFlags.ReturnAtEdge) != 0; obj.Temporary = (flags & PrimFlags.Temporary) != 0; obj.Sandbox = (flags & PrimFlags.Sandbox) != 0; obj.ID = ReadUUID(reader, "UUID"); obj.LocalID = (uint)reader.ReadElementContentAsLong("LocalId", String.Empty); obj.Name = reader.ReadElementString("Name"); obj.Material = reader.ReadElementContentAsInt("Material", String.Empty); if (reader.Name == "PassTouches") obj.PassTouches = reader.ReadElementContentAsBoolean("PassTouches", String.Empty); else obj.PassTouches = false; obj.RegionHandle = (ulong)reader.ReadElementContentAsLong("RegionHandle", String.Empty); obj.RemoteScriptAccessPIN = reader.ReadElementContentAsInt("ScriptAccessPin", String.Empty); if (reader.Name == "PlaySoundSlavePrims") reader.ReadInnerXml(); if (reader.Name == "LoopSoundSlavePrims") reader.ReadInnerXml(); Vector3 groupPosition = ReadVector(reader, "GroupPosition"); Vector3 offsetPosition = ReadVector(reader, "OffsetPosition"); obj.Rotation = ReadQuaternion(reader, "RotationOffset"); obj.Velocity = ReadVector(reader, "Velocity"); if (reader.Name == "RotationalVelocity") ReadVector(reader, "RotationalVelocity"); obj.AngularVelocity = ReadVector(reader, "AngularVelocity"); obj.Acceleration = ReadVector(reader, "Acceleration"); obj.Description = reader.ReadElementString("Description"); reader.ReadStartElement("Color"); if (reader.Name == "R") { obj.TextColor.R = reader.ReadElementContentAsFloat("R", String.Empty); obj.TextColor.G = reader.ReadElementContentAsFloat("G", String.Empty); obj.TextColor.B = reader.ReadElementContentAsFloat("B", String.Empty); obj.TextColor.A = reader.ReadElementContentAsFloat("A", String.Empty); reader.ReadEndElement(); } obj.Text = reader.ReadElementString("Text", String.Empty); obj.SitName = reader.ReadElementString("SitName", String.Empty); obj.TouchName = reader.ReadElementString("TouchName", String.Empty); obj.LinkNumber = reader.ReadElementContentAsInt("LinkNum", String.Empty); obj.ClickAction = reader.ReadElementContentAsInt("ClickAction", String.Empty); reader.ReadStartElement("Shape"); obj.Shape.ProfileCurve = reader.ReadElementContentAsInt("ProfileCurve", String.Empty); byte[] teData = Convert.FromBase64String(reader.ReadElementString("TextureEntry")); obj.Textures = new Primitive.TextureEntry(teData, 0, teData.Length); reader.ReadInnerXml(); // ExtraParams obj.Shape.PathBegin = Primitive.UnpackBeginCut((ushort)reader.ReadElementContentAsInt("PathBegin", String.Empty)); obj.Shape.PathCurve = reader.ReadElementContentAsInt("PathCurve", String.Empty); obj.Shape.PathEnd = Primitive.UnpackEndCut((ushort)reader.ReadElementContentAsInt("PathEnd", String.Empty)); obj.Shape.PathRadiusOffset = Primitive.UnpackPathTwist((sbyte)reader.ReadElementContentAsInt("PathRadiusOffset", String.Empty)); obj.Shape.PathRevolutions = Primitive.UnpackPathRevolutions((byte)reader.ReadElementContentAsInt("PathRevolutions", String.Empty)); obj.Shape.PathScaleX = Primitive.UnpackPathScale((byte)reader.ReadElementContentAsInt("PathScaleX", String.Empty)); obj.Shape.PathScaleY = Primitive.UnpackPathScale((byte)reader.ReadElementContentAsInt("PathScaleY", String.Empty)); obj.Shape.PathShearX = Primitive.UnpackPathShear((sbyte)reader.ReadElementContentAsInt("PathShearX", String.Empty)); obj.Shape.PathShearY = Primitive.UnpackPathShear((sbyte)reader.ReadElementContentAsInt("PathShearY", String.Empty)); obj.Shape.PathSkew = Primitive.UnpackPathTwist((sbyte)reader.ReadElementContentAsInt("PathSkew", String.Empty)); obj.Shape.PathTaperX = Primitive.UnpackPathTaper((sbyte)reader.ReadElementContentAsInt("PathTaperX", String.Empty)); obj.Shape.PathTaperY = Primitive.UnpackPathShear((sbyte)reader.ReadElementContentAsInt("PathTaperY", String.Empty)); obj.Shape.PathTwist = Primitive.UnpackPathTwist((sbyte)reader.ReadElementContentAsInt("PathTwist", String.Empty)); obj.Shape.PathTwistBegin = Primitive.UnpackPathTwist((sbyte)reader.ReadElementContentAsInt("PathTwistBegin", String.Empty)); obj.PCode = reader.ReadElementContentAsInt("PCode", String.Empty); obj.Shape.ProfileBegin = Primitive.UnpackBeginCut((ushort)reader.ReadElementContentAsInt("ProfileBegin", String.Empty)); obj.Shape.ProfileEnd = Primitive.UnpackEndCut((ushort)reader.ReadElementContentAsInt("ProfileEnd", String.Empty)); obj.Shape.ProfileHollow = Primitive.UnpackProfileHollow((ushort)reader.ReadElementContentAsInt("ProfileHollow", String.Empty)); obj.Scale = ReadVector(reader, "Scale"); obj.State = (byte)reader.ReadElementContentAsInt("State", String.Empty); ProfileShape profileShape = (ProfileShape)Enum.Parse(typeof(ProfileShape), reader.ReadElementString("ProfileShape")); HoleType holeType = (HoleType)Enum.Parse(typeof(HoleType), reader.ReadElementString("HollowShape")); obj.Shape.ProfileCurve = (int)profileShape | (int)holeType; UUID sculptTexture = ReadUUID(reader, "SculptTexture"); SculptType sculptType = (SculptType)reader.ReadElementContentAsInt("SculptType", String.Empty); if (sculptTexture != UUID.Zero) { obj.Sculpt = new PrimObject.SculptBlock(); obj.Sculpt.Texture = sculptTexture; obj.Sculpt.Type = (int)sculptType; } PrimObject.FlexibleBlock flexible = new PrimObject.FlexibleBlock(); PrimObject.LightBlock light = new PrimObject.LightBlock(); reader.ReadInnerXml(); // SculptData flexible.Softness = reader.ReadElementContentAsInt("FlexiSoftness", String.Empty); flexible.Tension = reader.ReadElementContentAsFloat("FlexiTension", String.Empty); flexible.Drag = reader.ReadElementContentAsFloat("FlexiDrag", String.Empty); flexible.Gravity = reader.ReadElementContentAsFloat("FlexiGravity", String.Empty); flexible.Wind = reader.ReadElementContentAsFloat("FlexiWind", String.Empty); flexible.Force.X = reader.ReadElementContentAsFloat("FlexiForceX", String.Empty); flexible.Force.Y = reader.ReadElementContentAsFloat("FlexiForceY", String.Empty); flexible.Force.Z = reader.ReadElementContentAsFloat("FlexiForceZ", String.Empty); light.Color.R = reader.ReadElementContentAsFloat("LightColorR", String.Empty); light.Color.G = reader.ReadElementContentAsFloat("LightColorG", String.Empty); light.Color.B = reader.ReadElementContentAsFloat("LightColorB", String.Empty); light.Color.A = reader.ReadElementContentAsFloat("LightColorA", String.Empty); light.Radius = reader.ReadElementContentAsFloat("LightRadius", String.Empty); light.Cutoff = reader.ReadElementContentAsFloat("LightCutoff", String.Empty); light.Falloff = reader.ReadElementContentAsFloat("LightFalloff", String.Empty); light.Intensity = reader.ReadElementContentAsFloat("LightIntensity", String.Empty); bool hasFlexi = reader.ReadElementContentAsBoolean("FlexiEntry", String.Empty); bool hasLight = reader.ReadElementContentAsBoolean("LightEntry", String.Empty); reader.ReadInnerXml(); // SculptEntry if (hasFlexi) obj.Flexible = flexible; if (hasLight) obj.Light = light; reader.ReadEndElement(); obj.Scale = ReadVector(reader, "Scale"); // Yes, again reader.ReadInnerXml(); // UpdateFlag reader.ReadInnerXml(); // SitTargetOrientation reader.ReadInnerXml(); // SitTargetPosition obj.SitOffset = ReadVector(reader, "SitTargetPositionLL"); obj.SitRotation = ReadQuaternion(reader, "SitTargetOrientationLL"); obj.ParentID = (uint)reader.ReadElementContentAsLong("ParentID", String.Empty); obj.CreationDate = Utils.UnixTimeToDateTime(reader.ReadElementContentAsInt("CreationDate", String.Empty)); int category = reader.ReadElementContentAsInt("Category", String.Empty); obj.SalePrice = reader.ReadElementContentAsInt("SalePrice", String.Empty); obj.SaleType = reader.ReadElementContentAsInt("ObjectSaleType", String.Empty); int ownershipCost = reader.ReadElementContentAsInt("OwnershipCost", String.Empty); obj.GroupID = ReadUUID(reader, "GroupID"); obj.OwnerID = ReadUUID(reader, "OwnerID"); obj.LastOwnerID = ReadUUID(reader, "LastOwnerID"); obj.PermsBase = (uint)reader.ReadElementContentAsInt("BaseMask", String.Empty); obj.PermsOwner = (uint)reader.ReadElementContentAsInt("OwnerMask", String.Empty); obj.PermsGroup = (uint)reader.ReadElementContentAsInt("GroupMask", String.Empty); obj.PermsEveryone = (uint)reader.ReadElementContentAsInt("EveryoneMask", String.Empty); obj.PermsNextOwner = (uint)reader.ReadElementContentAsInt("NextOwnerMask", String.Empty); reader.ReadInnerXml(); // Flags obj.CollisionSound = ReadUUID(reader, "CollisionSound"); obj.CollisionSoundVolume = reader.ReadElementContentAsFloat("CollisionSoundVolume", String.Empty); reader.ReadEndElement(); if (obj.ParentID == 0) obj.Position = groupPosition; else obj.Position = offsetPosition; return obj; }
private void _DaemonPipe_OnReceiveLine(string line) { XmlTextReader reader = new XmlTextReader(new StringReader(line)); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: { if (reader.Depth == 0) { isEvent = (reader.Name == "Event"); if (isEvent || reader.Name == "Response") { for (int i = 0; i < reader.AttributeCount; i++) { reader.MoveToAttribute(i); switch (reader.Name) { case "action": actionString = reader.Value; break; case "type": eventTypeString = reader.Value; break; } } } } else { switch (reader.Name) { case "InputXml": cookie = -1; // Parse through here to get the cookie value reader.Read(); if (reader.Name == "Request") { for (int i = 0; i < reader.AttributeCount; i++) { reader.MoveToAttribute(i); if (reader.Name == "requestId") { Int32.TryParse(reader.Value, out cookie); break; } } } if (cookie == -1) { Logger.Log("VoiceManager._DaemonPipe_OnReceiveLine(): Failed to parse InputXml for the cookie", Helpers.LogLevel.Warning, Client); } break; case "CaptureDevices": _CaptureDevices.Clear(); break; case "RenderDevices": _RenderDevices.Clear(); break; case "StatusCode": statusCode = reader.ReadElementContentAsInt(); break; case "StatusString": statusString = reader.ReadElementContentAsString(); break; case "State": state = reader.ReadElementContentAsInt(); break; case "ConnectorHandle": connectorHandle = reader.ReadElementContentAsString(); break; case "AccountHandle": accountHandle = reader.ReadElementContentAsString(); break; case "SessionHandle": sessionHandle = reader.ReadElementContentAsString(); break; case "URI": uriString = reader.ReadElementContentAsString(); break; case "IsChannel": isChannel = reader.ReadElementContentAsBoolean(); break; case "Name": nameString = reader.ReadElementContentAsString(); break; case "ChannelName": nameString = reader.ReadElementContentAsString(); break; case "ParticipantURI": uriString = reader.ReadElementContentAsString(); break; case "DisplayName": displayNameString = reader.ReadElementContentAsString(); break; case "AccountName": nameString = reader.ReadElementContentAsString(); break; case "ParticipantType": participantType = reader.ReadElementContentAsInt(); break; case "IsLocallyMuted": isLocallyMuted = reader.ReadElementContentAsBoolean(); break; case "IsModeratorMuted": isModeratorMuted = reader.ReadElementContentAsBoolean(); break; case "IsSpeaking": isSpeaking = reader.ReadElementContentAsBoolean(); break; case "Volume": volume = reader.ReadElementContentAsInt(); break; case "Energy": energy = reader.ReadElementContentAsFloat(); break; case "MicEnergy": energy = reader.ReadElementContentAsFloat(); break; case "ChannelURI": uriString = reader.ReadElementContentAsString(); break; case "ChannelListResult": _ChannelMap[nameString] = uriString; break; case "CaptureDevice": reader.Read(); _CaptureDevices.Add(reader.ReadElementContentAsString()); break; case "CurrentCaptureDevice": reader.Read(); nameString = reader.ReadElementContentAsString(); break; case "RenderDevice": reader.Read(); _RenderDevices.Add(reader.ReadElementContentAsString()); break; case "CurrentRenderDevice": reader.Read(); nameString = reader.ReadElementContentAsString(); break; } } break; } case XmlNodeType.EndElement: if (reader.Depth == 0) ProcessEvent(); break; } } if (isEvent) { } }
private Organ parseOrganDefinition(XmlTextReader reader) { string name = "ERROR"; bool exclusive = false; List<OrganPart> parts = new List<OrganPart>(); OrganPart temp = new OrganPart(); bool readingPart=false; temp.critical = false; //default while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "part": if (readingPart) throw new Exception("Error while parsing body definition XML: New part element before end part element"); readingPart = true; break; case "name": if (!readingPart) name = reader.ReadElementContentAsString(); else temp.name = reader.ReadElementContentAsString(); break; case "exclusive": exclusive = reader.ReadElementContentAsBoolean(); break; case "hit_prob": temp.hit_prob = reader.ReadElementContentAsFloat(); break; case "pain": temp.pain = reader.ReadElementContentAsFloat(); break; case "blood_loss": temp.blood_loss = reader.ReadElementContentAsFloat(); break; case "resistance": temp.resistance = reader.ReadElementContentAsFloat(); break; case "on_hit_kill": temp.critical = reader.ReadElementContentAsBoolean(); break; } break; case XmlNodeType.EndElement: switch (reader.Name) { case "part": readingPart = false; parts.Add(temp); temp = new OrganPart(); break; case "organ_def": Organ self = new Organ(name, exclusive); foreach (OrganPart op in parts) { self.AddPart(op); } return self; } break; } } return null; }