internal static Base64Data XmlToValue(SXL.XElement type_el) { var bytes = Convert.FromBase64String(type_el.Value); var b = new Base64Data(bytes); return(b); }
public static XmlRpc.Value ParseXml(System.Xml.Linq.XElement value_el) { if (value_el.Name != "value") { string msg = string.Format("XML Element should have name \"value\" instead found \"{0}\"", value_el.Name); throw new XmlRpcException(); } var input_value = value_el.Value; if (value_el.HasElements) { var type_el = value_el.Elements().First(); string typename = type_el.Name.ToString(); if (typename == Array.TypeString) { return(Array.XmlToValue(type_el)); } else if (typename == Struct.TypeString) { return(Struct.XmlToValue(type_el)); } else if (typename == StringValue.TypeString) { return(StringValue.XmlToValue(type_el)); } else if (typename == DoubleValue.TypeString) { return(DoubleValue.XmlToValue(type_el)); } else if (typename == Base64Data.TypeString) { return(Base64Data.XmlToValue(type_el)); } else if (typename == DateTimeValue.TypeString) { return(DateTimeValue.XmlToValue(type_el)); } else if (typename == IntegerValue.TypeString || typename == IntegerValue.AlternateTypeString) { return(IntegerValue.XmlToValue(type_el)); } else if (typename == BooleanValue.TypeString) { return(BooleanValue.XmlToValue(type_el)); } else { string msg = string.Format("Unsupported type: {0}", typename); throw new XmlRpcException(msg); } } else { // no <type> element provided. Treat the content as a string return(new StringValue(input_value)); } }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="type"></param> /// <param name="bits"></param> /// <returns></returns> public async Task<MediaObjectInfo> NewMediaObject(string name, string type, byte[] bits) { var service = new Service(BlogConnectionInfo.MetaWeblogUrl); var inputStruct = new Struct(); inputStruct["name"] = new StringValue(name); inputStruct["type"] = new StringValue(type); inputStruct["bits"] = new Base64Data(bits); var method = new MethodCall("metaWeblog.newMediaObject"); method.Parameters.Add(BlogConnectionInfo.BlogId); method.Parameters.Add(BlogConnectionInfo.Username); method.Parameters.Add(BlogConnectionInfo.Password); method.Parameters.Add(inputStruct); var response = await service.Execute(method); var param = response.Parameters[0]; var _struct = (Struct)param; var mediaobject = new MediaObjectInfo { Url = _struct.Get("url", StringValue.NullString).String }; return mediaobject; }
public void Add(Base64Data value) { this.Parameters.Add(value); }
internal static Base64Data XmlToValue(SXL.XElement type_el) { var bytes = Convert.FromBase64String(type_el.Value); var b = new Base64Data(bytes); return b; }