简体   繁体   English

反序列化XML字符串

[英]De-serialize XML String

Hello all I have the following XML string generated from file. 您好,我有以下从文件生成的XML字符串。 I want to deserialize it. 我想反序列化它。

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

I am using the following code. 我正在使用以下代码。

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

I am getting following exception " Illegal characters in path. " This error comes at XmlTextReader reader = new XmlTextReader(Data); 我收到以下异常“ 路径中的非法字符。 ”此错误来自XmlTextReader reader = new XmlTextReader(Data); Please help me in solving it. 请帮我解决。

new XmlTextReader(string) expects a filename, not the content. new XmlTextReader(string)需要文件名,而不是内容。 To read the content from a string you'll have to instantiate a TextReader for that string. 要从字符串中读取内容,您必须实例化该字符串的TextReader Use StringReader for that. 为此使用StringReader

Better still, don't use XmlTextReader , since it's been deprecated. 更好的是,不要使用XmlTextReader ,因为它已被弃用。 Use XmlReader.Create instead: 使用XmlReader.Create代替:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM