/// <summary> /// Deserializes arguments from an XML file. /// </summary> /// <param name="reader">XMLReader where the arguments are.</param> /// <returns>Arguments.</returns> public static Arguments Deserialize(XmlReader reader) { Arguments lResult = null; if (reader.IsStartElement(DTD.Request.ServiceRequest.TagArguments)) { lResult = new Arguments(); if (!reader.IsEmptyElement) { reader.ReadStartElement(); do { if (reader.IsStartElement(DTD.Request.ServiceRequest.Arguments.TagArgument)) { lResult.Add(XMLArgumentSerializer.Deserialize(reader.ReadSubtree())); } } while (reader.Read()); } else { reader.Skip(); } } else { throw new ArgumentException("Xml Reader don't have the " + DTD.Request.ServiceRequest.TagArguments + "in Start Element.", "XmlReader reader"); } return(lResult); }
/// <summary> /// Serializes arguments to an XML file. /// </summary> /// <param name="writer">XMLWriter where the arguments are stored.</param> /// <param name="arguments">Arguments to serialize.</param> /// <returns>Returns the XMLWriter with the arguments.</returns> public static XmlWriter Serialize(XmlWriter writer, Arguments arguments) { if (arguments != null) { writer.WriteStartElement(DTD.Request.ServiceRequest.TagArguments); foreach (Argument i in arguments.Values) { XMLArgumentSerializer.Serialize(writer, i); } writer.WriteEndElement(); } return(writer); }