目前,我正在尝试复制(通过代码)一个.xml文件,并使用了许多不同的方法。然而,这种方式似乎是我得到的最多的一种方式,就像我以前得到的一样,但是我要创建一个console.writeline输出。在生成console.out布局时,我似乎无法让它为.xml工作。它给出了以下错误
“无法序列化,因为它没有无参数的构造函数”
有人能帮我做这个吗。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"SmallResults.xml";
static void Main(string[] args)
{
List<BasicEvent> NewBasicEvent = new List<BasicEvent>();
XmlTextReader fileReader = new XmlTextReader("SmallResults.xml");
XmlDocument xml = new XmlDocument();
xml.Load(fileReader);
XmlNodeList BasicEvents = xml.SelectNodes("/HiP-HOPS_Results/FaultTrees/FMEA/Component/Events/BasicEvent");
if (BasicEvents != null)
{
XmlNode[] nodearray = BasicEvents.Cast<XmlNode>().ToArray();
for (int i = 0; i < BasicEvents.Count; i++)
{
NewBasicEvent.Add(new BasicEvent(nodearray[i].FirstChild.NextSibling.InnerText, nodearray[i].FirstChild.NextSibling.NextSibling.InnerText, nodearray[i].FirstChild.NextSibling.NextSibling.InnerText, nodearray[i].FirstChild.NextSibling.NextSibling.NextSibling.InnerText));
new XmlSerializer(typeof(BasicEvent)).Serialize(Console.Out, nodearray );
}
}
}
}
public class FMEA
{
public List<Component> components { get; set; }
}
public class Component
{
public string CompName { get; set; }
public string BasicEventID { get; set; }
public List<BasicEvent> basicevents { get; set; }
}
public class Events
{
}
public class BasicEvent
{
public string BasicEventName { get; set; }
public string BasicEventShortName { get; set; }
public string BasicEventDescription { get; set; }
public string BasicEventUnavalability { get; set; }
public List<Effects> effects { get; set; }
public BasicEvent( string basiceventname, string basiceventshortname, string basiceventdescription, string basiceventunavalability )
{
BasicEventName = basiceventname;
BasicEventShortName = basiceventshortname;
BasicEventDescription = basiceventdescription;
BasicEventUnavalability = basiceventdescription;
}发布于 2016-12-06 18:49:44
异常中的信息非常清楚!
然后添加默认构造函数:
public BasicEvent( ){}https://stackoverflow.com/questions/41002635
复制相似问题