private void GenerateReadableString(XmlLiteElement objElement, List <string> objStringParts, string strRootValue) { string strEntryName = string.Empty; if (strRootValue.Length > 0) { strEntryName = string.Format("{0}.{1}", strRootValue, objElement.Name); } else { strEntryName = objElement.Name; } if (objElement.Value.Length > 0) { strEntryName = string.Format("{0} = {1}", strEntryName, objElement.Value); objStringParts.Add(strEntryName); } else { if ((objStringParts.Count > 0) && (objStringParts[objStringParts.Count - 1] != string.Empty)) { objStringParts.Add(string.Empty); } foreach (XmlLiteElement objChildElement in objElement.Elements.ToArray()) { GenerateReadableString(objChildElement, objStringParts, strEntryName); } } }
public XmlLiteDocument(XmlLiteElement objRootElement) { if (objRootElement == null) { throw new ArgumentNullException("objRootElement", "The root element cannot be null"); } _objRootElement = objRootElement; }
public static string ToXml(XmlLiteElement objXmlLiteElement) { if (objXmlLiteElement == null) { throw new ArgumentNullException("objXmlLiteElement", "A valid non-null XmlLiteElement is required."); } XmlLiteDocument objXmlLiteDocument = new XmlLiteDocument(objXmlLiteElement); return(objXmlLiteDocument.ExportToXml()); }
public void Remove(XmlLiteElement objElement) { if (objElement == null) { throw new ArgumentNullException("objElement", "The element cannot be null."); } string strKey = objElement.Name; if (Elements.ContainsKey(strKey) == true) { List <XmlLiteElement> objIndexedElements = Elements[strKey]; objIndexedElements.Remove(objElement); } }
public XmlLiteElement[] GetElements(string strName) { if (strName == null) { throw new ArgumentNullException("strName", "The name cannot be null."); } XmlLiteElement[] objElements = new XmlLiteElement[0]; if (Elements.ContainsKey(strName) == true) { List <XmlLiteElement> objIndexedElements = Elements[strName]; objElements = objIndexedElements.ToArray(); } return(objElements); }
public void Add(XmlLiteElement objElement) { if (objElement == null) { throw new ArgumentNullException("objElement", "The element cannot be null."); } string strKey = objElement.Name; List <XmlLiteElement> objIndexedElements = null; if (_objIndexedElements.TryGetValue(strKey, out objIndexedElements) == false) { objIndexedElements = new List <XmlLiteElement>(); _objIndexedElements.Add(strKey, objIndexedElements); } objIndexedElements.Add(objElement); }
public XmlLiteElement this[string strName] { get { if (strName == null) { throw new ArgumentNullException("strName", "The name cannot be null."); } XmlLiteElement objElement = null; if (Elements.ContainsKey(strName) == true) { objElement = Elements[strName][0]; } return(objElement); } }
private void GenerateXml(XmlLiteElement objElement, TextWriter objTextWriter, int intIndentLevel) { string strElementName = objElement.Name; string strIndentLevel = new string('\t', intIndentLevel); objTextWriter.Write("{0}<{1}", strIndentLevel, strElementName); foreach (XmlLiteAttribute objAttribute in objElement.Attributes.ToArray()) { objTextWriter.Write(" {0}=\"{1}\"", objAttribute.Name, objAttribute.Value); } bool blnIsEmpty = ((objElement.Value.Length == 0) && (objElement.Elements.Count == 0)); if (blnIsEmpty == false) { objTextWriter.Write(">"); if (objElement.Value.Length > 0) { objTextWriter.Write(SecurityElement.Escape(objElement.Value)); } if (objElement.Elements.Count > 0) { objTextWriter.WriteLine(); intIndentLevel += 1; foreach (XmlLiteElement objChildElement in objElement.Elements.ToArray()) { GenerateXml(objChildElement, objTextWriter, intIndentLevel); } intIndentLevel -= 1; objTextWriter.Write(new string('\t', intIndentLevel)); } objTextWriter.WriteLine("</{0}>", strElementName); } else { objTextWriter.WriteLine("/>"); } }
public XmlLiteElement GetElement(string strName) { if (strName == null) { throw new ArgumentNullException("strName", "The name cannot be null."); } XmlLiteElement objElement = null; if (Elements.ContainsKey(strName) == true) { // Return the first element. // List <XmlLiteElement> objIndexedElements = Elements[strName]; if (objIndexedElements.Count > 0) { objElement = objIndexedElements[0]; } } return(objElement); }
public void Add(string strName, string strValue) { XmlLiteElement objElement = new XmlLiteElement(strName, strValue); Add(objElement); }
public static XmlLiteDocument LoadFromReader(XmlReader objXmlReader) { if (objXmlReader == null) { throw new ArgumentNullException("objXmlReader", "The xml reader must represent a valid instance."); } int intDepth = 0; XmlLiteElement objRootElement = null; XmlLiteElement objCurrentElement = null; Stack <XmlLiteElement> objElements = new Stack <XmlLiteElement>(); while (objXmlReader.EOF == false) { objXmlReader.Read(); switch (objXmlReader.NodeType) { case XmlNodeType.Element: intDepth = objXmlReader.Depth; objCurrentElement = new XmlLiteElement(objXmlReader.LocalName); if (objRootElement == null) { objRootElement = objCurrentElement; objElements.Push(objCurrentElement); } else { XmlLiteElement objParentElement = objElements.Peek(); objParentElement.Elements.Add(objCurrentElement); if (objXmlReader.IsEmptyElement == false) { objElements.Push(objCurrentElement); } } if (objXmlReader.HasAttributes == true) { while (objXmlReader.MoveToNextAttribute() == true) { objCurrentElement.Attributes.Add(objXmlReader.Name, objXmlReader.Value); } } break; case XmlNodeType.Attribute: objCurrentElement.Attributes.Add(objXmlReader.Name, objXmlReader.Value); break; case XmlNodeType.EndElement: objElements.Pop(); break; case XmlNodeType.Text: case XmlNodeType.CDATA: if (intDepth == objXmlReader.Depth) { XmlLiteElement objParentElement = objElements.Peek(); objParentElement.Value = objXmlReader.Value; } else { objCurrentElement.Value = objXmlReader.Value; } break; default: break; } } XmlLiteDocument objDocument = new XmlLiteDocument(objRootElement); return(objDocument); }