Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将DOM XmlElement反序列化为.NET对象_C#_.net_Xml_Dom_Xml Deserialization - Fatal编程技术网

C# 将DOM XmlElement反序列化为.NET对象

C# 将DOM XmlElement反序列化为.NET对象,c#,.net,xml,dom,xml-deserialization,C#,.net,Xml,Dom,Xml Deserialization,我有一个现有的应用程序,它将数据作为XMLDOM模型进行处理。现在我想把这些数据作为C#对象的集合传递给另一个子系统 据我所知,我可以将DOM表示序列化为MemoryStream,并使用XmlSerializer对流进行反序列化。当然有一种方法可以直接处理DOM表示,而不需要插入文本表示?但是我找不到它 如何在DOM表示上使用System.Xml.Serialization?听起来您想将一个Xml文档投影到一个自定义集合中。您可以使用XmlSerializer.Deserialize实现这一点,

我有一个现有的应用程序,它将数据作为XMLDOM模型进行处理。现在我想把这些数据作为C#对象的集合传递给另一个子系统

据我所知,我可以将DOM表示序列化为MemoryStream,并使用XmlSerializer对流进行反序列化。当然有一种方法可以直接处理DOM表示,而不需要插入文本表示?但是我找不到它


如何在DOM表示上使用System.Xml.Serialization?

听起来您想将一个Xml文档投影到一个自定义集合中。您可以使用XmlSerializer.Deserialize实现这一点,但它要求您的XmlDocument的结构与集合成员很好地对齐

如果这是真的,那么使用
XmlNodeReader
是一种非常好的方法。 例如


但是,如果您发现XmlDocument与您的收藏不符,您可能只想使用它并做任何您喜欢的事情。

这个C#在哪里?在服务器上运行还是以某种方式在浏览器中运行?我不确定这会有什么区别-它是C#编译的,可以在.NET framework上运行。无论如何,答案都不是——它是一个桌面应用程序。老式的,我知道。当我看到“DOM”时,我以为你是在用C#访问浏览器DOM,这引起了我的兴趣。这不是我想做的,但“XmlNodeReader”确实是我所缺少的。谢谢@conrad!
  XmlDocument xdoc = GetAnXmlDocument();
  XmlSerializer serializer = new XmlSerializer(typeof(SomeCollection));
  SomeCollection coll = xSerializer.Deserialize(new XmlNodeReader(xdoc));