XML错误中的路径错误中的非法字符
问题描述:
我已经从我的客户端获得XML响应。我不能将字符串反序列化为XML,它会抛出Illegal characters in path
错误。所以现在我将文件保存在临时文件夹中并检索该文件。是否可以在不保存XML文件的情况下进行反序列化?XML错误中的路径错误中的非法字符
string xml = Post();
XmlSerializer deserializer = new XmlSerializer(typeof(Envelope));
TextReader reader = new StreamReader(xml); <-- Illegal characters in path error -->
object obj = deserializer.Deserialize(reader);
Envelope XmlData = (Envelope)obj;
reader.Close();
编辑1 -
XmlSerializer serializer = new XmlSerializer(typeof(Envelope));
using (TextWriter writer = new StreamWriter(xml)) <-- StringWriter is Possible here? -->
{
serializer.Serialize(writer, XmlData);
}
答
取而代之的是StreamReader
,使用StringReader
,即需要一个string
as constructor parameter。
TextReader reader = new StringReader(xml);
对于写作,使用此:
string output;
XmlSerializer serializer = new XmlSerializer(typeof(Envelope));
using (TextWriter writer = new StreamWriter(xml)) <-- StringWriter is Possible here? -->
{
serializer.Serialize(writer, XmlData);
output = writer.ToString();
}
感谢@patrick福满,.有可能从对象获取xml作为字符串?看到我更新的问题 – Sagotharan 2014-10-28 11:40:48
@Sagotharan:查看更新。 – 2014-10-28 12:13:18
谢谢#patrick hofman。 – Sagotharan 2014-10-28 12:27:27