示例#1
0
    public void Serialize(RequestRootBase root, XmlWriter writer)
    {
        writer.WriteStartDocument();
        writer.WriteStartElement(RequestRootElementName);
        writer.WriteStartElement(ActionElementName);
        var typeName = BindToName(root.RequestType);

        writer.WriteAttributeString(TypeAttributeName, typeName);
        var serializer    = new XmlSerializer(root.RequestType);
        var rootNameSpace = DefaultRootXmlElementNamespace(root.RequestType);
        var ns            = new XmlSerializerNamespaces();

        if (string.IsNullOrEmpty(rootNameSpace))
        {
            ns.Add("", "");
        }
        else
        {
            ns.Add("", rootNameSpace);
        }
        serializer.Serialize(writer, root.RequestObject, ns);
        writer.WriteEndElement();
        writer.WriteEndElement();
        writer.WriteEndDocument();
    }
示例#2
0
 public string SerializeToString(RequestRootBase root)
 {
     using (var textWriter = new StringWriter())
     {
         var settings = new XmlWriterSettings()
         {
             Indent = true, IndentChars = "    "
         };                                                                                  // For cosmetic purposes.
         using (var xmlWriter = XmlWriter.Create(textWriter, settings))
             Serialize(root, xmlWriter);
         return(textWriter.ToString());
     }
 }