public static bool Read(Stream stream, out IODocument circuitDocument, out DocumentLoadResult loadResult) { try { BinaryReader reader = new BinaryReader(stream); int magicNumber = reader.ReadInt32(); int formatVersion = reader.ReadInt32(); string appVersion = reader.ReadString(); CDDXContentEncoding contentFlags = (CDDXContentEncoding)reader.ReadInt32(); uint contentOffset = 0; if (formatVersion >= 2) { contentOffset = reader.ReadUInt32(); // offset to content } if (formatVersion >= 2) { stream.Seek(contentOffset, SeekOrigin.Begin); } CircuitDocument newDocument = new CircuitDocument(); if ((contentFlags & CDDXContentEncoding.Deflate) == CDDXContentEncoding.Deflate) { DeflateStream deflateStream = new DeflateStream(stream, CompressionMode.Decompress); Xml.XmlReader xmlReader = new Xml.XmlReader(); bool result = xmlReader.Load(deflateStream); circuitDocument = xmlReader.Document; loadResult = xmlReader.LoadResult; loadResult.Format = "CDDX (Legacy 1.0)"; return(result); } else { Xml.XmlReader xmlReader = new Xml.XmlReader(); bool result = xmlReader.Load(stream); circuitDocument = xmlReader.Document; loadResult = xmlReader.LoadResult; loadResult.Format = "CDDX (Legacy 1.0)"; return(result); } } catch (Exception) { circuitDocument = null; loadResult = new DocumentLoadResult(); loadResult.Type = DocumentLoadResultType.FailIncorrectFormat; return(false); } }
protected override bool HandleElement(Xml.XmlReader reader) { if (base.HandleElement(reader)) { return(true); } else if (CanHandleElement(reader, XmlConstants.ValueAnnotation)) { // EF does not support this EDM 3.0 element, so ignore it. SkipElement(reader); return(true); } else if (CanHandleElement(reader, XmlConstants.TypeAnnotation)) { // EF does not support this EDM 3.0 element, so ignore it. SkipElement(reader); return(true); } return(false); }
public void ReadXml(Xml.XmlReader reader) { bool wasEmpty = reader.IsEmptyElement; reader.Read(); if (wasEmpty) { return; } while (reader.NodeType != Xml.XmlNodeType.EndElement) { string key = reader.GetAttribute("key"); string value = reader.GetAttribute("value"); this.Add((TKey)Convert.ChangeType(key, typeof(TKey)), (TValue)Convert.ChangeType(value, typeof(TValue))); reader.Read(); reader.MoveToContent(); } reader.ReadEndElement(); }
void IXmlSerializable.ReadXml(Xml.XmlReader reader) { this.Value = reader.ReadContentAsString(); }
public static EndpointReference ReadFrom(Xml.XmlReader reader) { throw new NotImplementedException(); }
void IXmlSerializable.ReadXml(Xml.XmlReader reader) { this.ResourceKey = reader.GetAttribute("name"); this.Value = (ResourceValue)reader.ReadContentAs(typeof(ResourceValue), null); }
public static List <TextElement> Parse(string text, Style style, bool enabled) { if (string.IsNullOrEmpty(text)) { return(new List <TextElement>()); } if (enabled) { text = ConvertBbCodeToHtml(text); } else { text = EscapeXml(text); text = text.Replace("\r\n", "<br/>"); text = text.Replace("\n", "<br/>"); text = text.Replace(""r"n", "<br/>"); text = text.Replace(""n", "<br/>"); } var element = new TextElement { Font = style.Font, Color = style.TextColor }; var lastElement = new TextElement { Font = style.Font, Color = style.TextColor }; var result = new List <TextElement>(); if (_reader == null) { _reader = new Xml.XmlReader(text); } else { _reader.New(text); } while (_reader.Read()) { switch (_reader.NodeType) { case XmlNodeType.Element: switch (_reader.Name.ToLower()) { case "control": if (_reader.HasAttributes) { while (_reader.MoveToNextAttribute()) { if (_reader.Name.Equals("key")) { element.Control = _reader.Value; } else if (_reader.Name.Equals("data")) { // element.Data = reader.Value; } } } result.Add(element); element = new TextElement(element); break; case "font": if (_reader.HasAttributes) { lastElement.Color = element.Color; lastElement.Font = element.Font; while (_reader.MoveToNextAttribute()) { if (_reader.Name.Equals("name")) { element.Font = _reader.Value; } else if (_reader.Name.Equals("color")) { var color = element.Color.Value; if (int.TryParse(_reader.Value, System.Globalization.NumberStyles.HexNumber, System.Globalization.CultureInfo.InvariantCulture, out color)) { element.Color = color; } else if (int.TryParse(_reader.Value, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture, out color)) { element.Color = color; } } } } break; case "a": if (_reader.HasAttributes) { while (_reader.MoveToNextAttribute()) { if (_reader.Name.Equals("href")) { element.Href = _reader.Value; } } } break; case "br": element.Linebreak = true; result.Add(element); element = new TextElement(element); break; default: break; } break; case XmlNodeType.EndElement: switch (_reader.Name.ToLower()) { case "control": element.Font = lastElement.Font; element.Color = lastElement.Color; break; case "font": element.Font = lastElement.Font; element.Color = lastElement.Color; break; case "a": element.Href = null; break; } break; case XmlNodeType.Text: if (_reader.Value.Length > 0) { element.Text = UnescapeXml(_reader.Value); result.Add(element); element = new TextElement(element); } break; default: break; } } return(result); }