public void ReadComplexContent(ComplexContentAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); string value = current.HasElements ? current.FirstNode.ToString() : null; SerializerUtil.CheckRequiredContent(attribute, receiver, info, value); SerializerUtil.SetObjectValue(receiver, settings, info, value, false); }
public void ReadTextContent(TextContentAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); string value = current.Value; SerializerUtil.CheckRequiredContent(attribute, receiver, info, value); SerializerUtil.SetObjectValue(receiver, settings, info, value, attribute.AutoTrim); }
public void ReadComplexElement(SimpleComplexElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); string value = current.HasElements ? current.FirstNode.ToString() : null; object objValue = SerializerUtil.GetPropertyObject(receiver, settings, info, value, false); SerializerUtil.AddElementValue(attribute, receiver, info, objValue); }
public void ReadElement(SimpleElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); string value = current.Value; object objValue = SerializerUtil.GetPropertyObject(receiver, settings, info, value, attribute.AutoTrim); SerializerUtil.AddElementValue(attribute, receiver, info, objValue); }
public void ReadAttribute(SimpleAttributeAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); XName name = info.QName.ToXName(); XAttribute attr = current.Attribute(name); string value = attr == null ? null : attr.Value; SerializerUtil.CheckRequiredAttribute(attribute, receiver, info, value); SerializerUtil.SetObjectValue(receiver, settings, info, value, attribute.AutoTrim); }
public void ReadDictionary(DictionaryAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XElement current = XElementData.GetCurrent(reader); IDictionary dict = attribute.GetDictionary(receiver, info); Type objectType = info.ObjectType; foreach (XElement child in current.Elements()) { string nodeName = child.Name.LocalName; string nodeValue = child.Value; if (attribute.AutoTrim && nodeValue != null) { nodeValue = nodeValue.Trim(); } object objValue = SerializerUtil.GetPropertyObject(receiver, settings, info, nodeValue, objectType); dict[nodeName] = objValue; } }