public void ReadComplexElement(SimpleComplexElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { if (attribute.IsMultiple) { JsonTextReader jsonReader = reader.Convert <JsonTextReader>(); IList list = attribute.GetList(receiver, info); AssertRead(jsonReader); AssertReadState(jsonReader, JsonToken.StartArray, info.PropertyName); while (jsonReader.Read()) { if (jsonReader.TokenType == JsonToken.EndArray) { break; } object value = ReadComplexValue(jsonReader, receiver, settings, info); list.Add(value); } } else { ReadComplexValue(reader, receiver, settings, info); } }
public void ReadComplexElement(SimpleComplexElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { XmlReader xml = reader.Convert <XmlReader>(); string value = ReadComplexContent(xml, info.QName); object objValue = SerializerUtil.GetPropertyObject(receiver, settings, info, value, false); SerializerUtil.AddElementValue(attribute, receiver, info, objValue); }
public void WriteComplexElement(SimpleComplexElementAttribute attribute, object writer, object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData) { var current = serializerData.Convert <XElement>(); string xmlValue = ObjectUtil.ToString(info.Converter, value, settings); XElement child = string.IsNullOrEmpty(xmlValue) ? null : XElement.Parse(xmlValue); XElement element = new XElement(info.QName.ToXName(), child); current.Add(element); }
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 WriteComplexElement(SimpleComplexElementAttribute attribute, object writer, object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData) { XmlWriter xmlWriter = writer.Convert <XmlWriter>(); PrefixTable prefixTable = serializerData.Convert <PrefixTable>(); WriteStartElement(xmlWriter, info.QName, prefixTable); string data = ObjectUtil.ToString(info.Converter, value, settings); WriteComplexContent(xmlWriter, data); xmlWriter.WriteEndElement(); }
public void WriteComplexElement(SimpleComplexElementAttribute attribute, object writer, object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData) { if (attribute.IsMultiple) { IList list = value.Convert <IList>(); JsonWriter jsonWriter = writer.Convert <JsonWriter>(); QName name = info.QName; jsonWriter.WritePropertyName(name.LocalName); jsonWriter.WriteStartArray(); foreach (var itemValue in list) { WriteComplexContent(jsonWriter, itemValue.ConvertToString()); } //jsonWriter.WriteValue(ObjectUtil.ToString(info, itemValue, settings)); jsonWriter.WriteEndArray(); } else { WriteComplexElement(attribute, writer, value, settings, info); } }
public void ReadComplexElement(SimpleComplexElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { throw new NotSupportedException(); }
public void WriteComplexElement(SimpleComplexElementAttribute attribute, object writer, object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData) { throw new NotImplementedException(); }
public void WriteComplexElement(SimpleComplexElementAttribute attribute, object writer, object value, WriteSettings settings, ObjectPropertyInfo info, object serializerData) { WriteElement(attribute, writer, value, settings, info, serializerData); }
public void ReadComplexElement(SimpleComplexElementAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { }