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); }
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); }
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)); } }
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(); }