Example #1
0
        /// <summary>
        /// Generates an attribute from its XML representation.
        /// </summary>
        /// <param name="reader"></param>
        private static void AddDeserializedAttribute(DDAttributesCollection ac, XmlReader reader)
        {
            var name = reader.GetAttribute(DDSchema.XML_SERIALIZE_ATTRIBUTE_NAME);
            var t    = reader.GetAttribute(DDSchema.XML_SERIALIZE_ATTRIBUTE_TYPE);

            if (name != null)
            {
                DDValue v = null;
                if (t != null)
                {
                    v = DDValueSxe.Deserialize(reader);
                }
                ac.Add(name, v);
            }

            if ((name == null) || (t == null)) // reads and close empty node
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    reader.ReadStartElement();
                }
                if (reader.NodeType == XmlNodeType.EndElement)
                {
                    reader.ReadEndElement();                                            // need to close the opened element
                }
            }
        }
Example #2
0
 /// <summary>
 /// Serializes the specified DDAttributesCollection into its XML representation and writes to a XML writer.
 /// The parent node must exist, for example, use IXmlSerializable interface
 /// </summary>
 /// <param name="n">the attributes collection to serialize</param>
 /// <param name="writer">XML writer used to write the XML document.</param>
 internal static void XMLSerialize(DDAttributesCollection ac, XmlWriter writer)
 {
     if (ac == null)
     {
         return;             // if attributes is null
     }
     foreach (var a in ac)
     {
         writer.WriteStartElement(DDSchema.XML_SERIALIZE_NODE_ATTRIBUTE);
         writer.WriteAttributeString(DDSchema.XML_SERIALIZE_ATTRIBUTE_NAME, a.Key);
         if (a.Value != null)
         {
             DDValueSxe.XMLSerialize(a.Value, writer);
         }
         writer.WriteEndElement();
     }
 }
Example #3
0
 /// <summary>
 /// Generates an object from its XML representation.
 /// </summary>
 /// <param name="reader"></param>
 public virtual void ReadXml(XmlReader reader)
 {
     this.v = DDValueSxe.Deserialize(reader);
 }
Example #4
0
 /// <summary>
 /// Converts an object into its XML representation.
 /// </summary>
 /// <param name="writer"></param>
 public virtual void WriteXml(XmlWriter writer)
 {
     DDValueSxe.XMLSerialize(v, writer);
 }