序列化后更改Xml内容&反序列化

时间:2013-09-18 18:30:38

标签: c# xml xml-serialization xml-deserialization

我更新了问题@ xml content changed after serialization & deserialization want to pass in xml to map object

感谢任何帮助。非常感谢。

我是所有这些的新手: 我试图将一个xml文件从webapplication浏览按钮传递到服务,然后调用然后运行它。

我搜索并做了以下事情:

string InputFilePath = FileUpload1.PostedFile.FileName;

MyServiceTypeClass _MyServiceTestObj = new MyServiceTypeClass ();
XmlSerializer SerializerObj = new XmlSerializer(typeof(MyServiceTypeClass ));
StreamWriter WriteFileStream = new StreamWriter(@InputFilePath);
SerializerObj.Serialize(WriteFileStream, _MyServiceTestObj );
WriteFileStream.Close();

FileStream XmlStream = new FileStream(@InputFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
MyServiceTypeClass _ServiceTypeLoaded = (MyServiceTypeClass )SerializerObj.Deserialize(XmlStream);
XmlStream.Close();

运行并上传xml文件后,我发现_ServiceTypeLoaded字段几乎都是字段的空值。运行上述行后,xml文件内容已更改。 _ServiceTypeLoaded只有3个字段不是null,并且xml文件已更改为其他格式,但缺少大量标记。

更多细节:
MyServicetypeClass结构:
MyServiceTypeClass继承自A类并拥有一些自己的成员; A类继承了B类,并拥有一些自己的成员; B类继承自C类,并有一些自己的成员等。关系中有5层。

1 个答案:

答案 0 :(得分:0)

使用Xslt将输入xml转换为所需的xml格式,然后将其用作输入变量