反序列化XML字符串

时间:2014-02-01 05:53:54

标签: c# xml xml-deserialization

大家好,我有从文件生成的以下XML字符串。我想反序列化它。

<CustomerName>TEST</CustomerName>
<PONumber></PONumber>
<ProcessedBy>Jerry Cooke</ProcessedBy>
<ProcessDate>03-05-2004 14:00:49</ProcessDate>
<TagNumber></TagNumber>
<SerialNumber>134</SerialNumber>

我正在使用以下代码。

string Data =  upperxmlstring
 XmlTextReader reader = new XmlTextReader(Data);
                obj = (T)serializer.Deserialize(reader);
                reader.Close();

我遇到异常“路径中的非法字符。”此错误发生在XmlTextReader reader = new XmlTextReader(Data); 请帮我解决。

1 个答案:

答案 0 :(得分:0)

new XmlTextReader(string)需要文件名,而不是内容。要从字符串中读取内容,您必须为该字符串实例化TextReader。请使用StringReader

更好的是,不要使用XmlTextReader,因为它已被弃用。请改用XmlReader.Create

string Data = upperxmlstring;
XmlReader reader = XmlReader.Create(new StringReader(Data));
obj = (T)serializer.Deserialize(reader);
reader.Close();