将对象转换为XML字符串
我正在构建一个windows应用商店应用程序,我需要将一个对象转换为xml字符串,以便通过web服务将其发送,并在web服务中将其重新组装为PDF 该对象由2个字符串(名称和ID)和一个字节数组组成,其中包含一张照片(捕获到一个storagefile中,然后我将其转换为字节数组) 问题是我找不到任何方法将此对象转换为有效的xml字符串 这是我在谷歌搜索到的结果,但我不确定这是否是我需要的:将对象转换为XML字符串,xml,string,web-services,object,windows-store-apps,Xml,String,Web Services,Object,Windows Store Apps,我正在构建一个windows应用商店应用程序,我需要将一个对象转换为xml字符串,以便通过web服务将其发送,并在web服务中将其重新组装为PDF 该对象由2个字符串(名称和ID)和一个字节数组组成,其中包含一张照片(捕获到一个storagefile中,然后我将其转换为字节数组) 问题是我找不到任何方法将此对象转换为有效的xml字符串 这是我在谷歌搜索到的结果,但我不确定这是否是我需要的: Public Shared Function XmlFromObject(ByVal objTemp A
Public Shared Function XmlFromObject(ByVal objTemp As Object, ByVal ID As String, ByVal name As String) As Task(of String)
Dim IDName As String = ID + "_" + name + ".xml"
Dim objStreamWriter As New StreamWriter(IDName)
Dim x As New XmlSerializer(objTemp.GetType)
using objStreamWriter
x.Serialize(objStreamWriter, objTemp)
end using
Return IDName
End Function
有人能帮忙吗?提前谢谢 我用了这个,也许它可以帮助你序列化你的对象: 我希望C#对你也没问题 C#扩展方法:
public static string SerializeXml(this object instance)
{
using (var stream = new MemoryStream())
{
var serializer = new DataContractSerializer(instance.GetType());
serializer.WriteObject(stream, instance);
stream.Position = 0;
using (var reader = new StreamReader(stream))
{
var result = "<?xml version='1.0' encoding='UTF-8' ?>";
result += reader.ReadToEnd();
return result;
}
}
}
class Dto
{
public string Id{ get; set; }
public string Name{ get; set; }
public byte[] Data { get;set; }
}
用法
var instance = new Dto();
instance.Id = "1";
instance.Name = "Any Name";
instance.Data = new byte[128];
var objAsString = instance.SerializeXml();
这就是你要找的吗