Exemplo n.º 1
0
        public void WriteElement(SimpleElementAttribute attribute, object writer,
                                 object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData)
        {
            if (!attribute.IsMultiple && ObjectUtil.IsDefaultValue(attribute.DefaultValue, value))
            {
                return;
            }

            var      current = serializerData.Convert <XElement>();
            XElement element = new XElement(info.QName.ToXName(),
                                            ObjectUtil.ToString(info.Converter, value, settings));

            current.Add(element);
        }
Exemplo n.º 2
0
        public void WriteAttribute(SimpleAttributeAttribute attribute, object writer,
                                   object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData)
        {
            if (ObjectUtil.IsDefaultValue(attribute.DefaultValue, value))
            {
                return;
            }

            XName      name    = info.QName.ToXName();
            XAttribute attr    = new XAttribute(name, ObjectUtil.ToString(info.Converter, value, settings));
            XElement   current = serializerData.Convert <XElement>();

            current.Add(attr);
        }
Exemplo n.º 3
0
        public void WriteAttribute(SimpleAttributeAttribute attribute, object writer,
                                   object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData)
        {
            if (ObjectUtil.IsDefaultValue(attribute.DefaultValue, value))
            {
                return;
            }

            XmlWriter xmlWriter = writer.Convert <XmlWriter>();
            QName     name      = info.QName;

            if (name.HasNamespace)
            {
                PrefixTable prefix = serializerData.Convert <PrefixTable>();
                xmlWriter.WriteAttributeString(prefix.GetPrefix(name.Namespace), name.LocalName,
                                               name.Namespace, ObjectUtil.ToString(info.Converter, value, settings));
            }
            else
            {
                xmlWriter.WriteAttributeString(name.LocalName,
                                               ObjectUtil.ToString(info.Converter, value, settings));
            }
        }
Exemplo n.º 4
0
        public void WriteElement(SimpleElementAttribute attribute, object writer,
                                 object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData)
        {
            if (!attribute.IsMultiple && ObjectUtil.IsDefaultValue(attribute.DefaultValue, value))
            {
                return;
            }

            XmlWriter   xmlWriter   = writer.Convert <XmlWriter>();
            PrefixTable prefixTable = serializerData.Convert <PrefixTable>();

            WriteStartElement(xmlWriter, info.QName, prefixTable);
            string data = ObjectUtil.ToString(info.Converter, value, settings);

            if (attribute.UseCData)
            {
                xmlWriter.WriteCData(data);
            }
            else
            {
                xmlWriter.WriteString(data);
            }
            xmlWriter.WriteEndElement();
        }