public void WritePrimitiveContents(object value, XmlSerializationHint xmlFormatHint) { JValue val; if (value == null) { val = null; } else if (value is bool) { val = new JValue(value); } else if (value is Int32 || value is Int16) { val = new JValue(value); } else if (value is decimal) { val = new JValue(value); } else { val = new JValue(PrimitiveTypeConverter.ConvertTo <string>(value)); } if (_current is JArray) { ((JArray)_current).Add(val); } else if (_current is JProperty) { ((JProperty)_current).Value = val; } }
public void WritePrimitiveContents(object value, XmlSerializationHint xmlFormatHint) { if (value == null) throw Error.ArgumentNull("value", "There's no support for null values in Xml Fhir serialization"); if (xmlFormatHint == XmlSerializationHint.None) xmlFormatHint = XmlSerializationHint.Attribute; var valueAsString = PrimitiveTypeConverter.ConvertTo<string>(value); if (xmlFormatHint == XmlSerializationHint.Attribute) xw.WriteAttributeString(_currentMemberName, valueAsString); else if (xmlFormatHint == XmlSerializationHint.TextNode) xw.WriteString(valueAsString); else if (xmlFormatHint == XmlSerializationHint.XhtmlElement) { XElement xe = XElement.Parse(valueAsString); xe.Name = XHtml.XHTMLNS + xe.Name.LocalName; // Write xhtml directly into the output stream, // the xhtml <div> becomes part of the elements // of the type, just like the other FHIR elements xw.WriteRaw(xe.ToString()); } else throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint); }
internal void Serialize(object value, XmlSerializationHint hint) { if (value != null) { var nativeType = value.GetType(); if (nativeType.IsEnum()) { value = ((Enum)value).GetLiteral(); } } _writer.WritePrimitiveContents(value, hint); }
internal void Serialize(object value, XmlSerializationHint hint) { if (value != null) { var nativeType = value.GetType(); if (nativeType.IsEnum()) { var enumMapping = _inspector.FindEnumMappingByType(nativeType); if (enumMapping != null) value = enumMapping.GetLiteral((Enum)value); } } _writer.WritePrimitiveContents(value, hint); }
internal void Serialize(object value, XmlSerializationHint hint) { if (value != null) { var nativeType = value.GetType(); if (nativeType.IsEnum()) { var enumMapping = _inspector.FindEnumMappingByType(nativeType); if (enumMapping != null) { value = enumMapping.GetLiteral((Enum)value); } } } _writer.WritePrimitiveContents(value, hint); }
public void WritePrimitiveContents(string name, Element value, XmlSerializationHint xmlFormatHint) { WriteStartElement(name); if (value is FhirBoolean) { jw.WriteValue(((FhirBoolean)value).Value); } else if (value is Integer) { jw.WriteValue(((Integer)value).Value); } else if (value is FhirDecimal) { jw.WriteValue(((FhirDecimal)value).Value); } else { jw.WriteValue(value.ToString()); } }
public void WritePrimitiveContents(object value, XmlSerializationHint xmlFormatHint) { if (value == null) { throw Error.ArgumentNull("value", "There's no support for null values in Xml Fhir serialization"); } if (xmlFormatHint == XmlSerializationHint.None) { xmlFormatHint = XmlSerializationHint.Attribute; } var valueAsString = PrimitiveTypeConverter.ConvertTo <string>(value); if (xmlFormatHint == XmlSerializationHint.Attribute) { xw.WriteAttributeString(_currentMemberName, valueAsString); } else if (xmlFormatHint == XmlSerializationHint.TextNode) { xw.WriteString(valueAsString); } else if (xmlFormatHint == XmlSerializationHint.XhtmlElement) { var sanitized = SerializationUtil.SanitizeXml(valueAsString); XElement xe = XElement.Parse(sanitized); xe.Name = XmlNs.XHTMLNS + xe.Name.LocalName; // Write xhtml directly into the output stream, // the xhtml <div> becomes part of the elements // of the type, just like the other FHIR elements var ready = xe.ToString(); xw.WriteRaw(ready); } else { throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint); } }
public void WritePrimitiveContents(string name, Element value, XmlSerializationHint xmlFormatHint) { if (xmlFormatHint == XmlSerializationHint.Attribute) { writePrimitiveAttribute(name, value.ToString()); } else if (xmlFormatHint == XmlSerializationHint.TextNode) { xw.WriteString(value.ToString()); } else if (xmlFormatHint == XmlSerializationHint.XhtmlElement) { // Write xhtml directly into the output stream, // the xhtml <div> becomes part of the elements // of the type, just like the other FHIR elements xw.WriteRaw(value.ToString()); } else { throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint); } }
public void WritePrimitiveContents(object value, XmlSerializationHint xmlFormatHint) { JValue val; if (value == null) val = null; else if (value is bool) val = new JValue(value); else if (value is Int32 || value is Int16) val = new JValue(value); else if (value is decimal) val = new JValue(value); else val = new JValue(PrimitiveTypeConverter.ConvertTo<string>(value)); if (_current is JArray) ((JArray)_current).Add(val); else if (_current is JProperty) ((JProperty)_current).Value = val; }
public void WritePrimitiveContents(string name, Element value, XmlSerializationHint xmlFormatHint) { if (xmlFormatHint == XmlSerializationHint.Attribute) writePrimitiveAttribute(name, value.ToString()); else if (xmlFormatHint == XmlSerializationHint.TextNode) xw.WriteString(value.ToString()); else if (xmlFormatHint == XmlSerializationHint.XhtmlElement) { XNamespace xhtml = Support.Util.XHTMLNS; XElement xe = XElement.Parse(value.ToString()); xe.Name = xhtml + xe.Name.LocalName; // Write xhtml directly into the output stream, // the xhtml <div> becomes part of the elements // of the type, just like the other FHIR elements xw.WriteRaw(xe.ToString()); } else throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint); }