如何创建对象的XML文件

时间:2019-05-24 16:58:34

标签: c# xmlserializer

我正在致力于自动机中的单词识别,并且为了交换信息,我需要创建对象的XML文件。

已经通过System.Xml.Serialization使用该库;

[Serializable]
    class Automata
    {
        public List<int> estado_Q { get; set; }
        public List<char> alfabeto_X { get; set; }
        public List<Transicion> ftrans_t { get; set; }
        public int estadoInicio_qo { get; set; }
        public List<int> estadosFinales_F { get; set; }

        public Automata(List<int> Q, List<char> X, List<Transicion> T, int qo, List<int> F)
        {
            estado_Q = Q;
            alfabeto_X = X;
            ftrans_t = T;
            estadoInicio_qo = qo;
            estadosFinales_F = F;

        }

    }`
[Serializable]
    class Transicion
    {
        public int fromEstado { get; set; }
        public char leeyendo { get; set; }
        public int untilEstado { get; set; }


        public Transicion(int iEstado, char leer, int fEstado)
        {
            fromEstado = iEstado;
            leeyendo = leer;
            untilEstado = fEstado;
        }
    }
static void Main(string[] args)
        {
                     Clases.Automata au = new Clases.Automata();

            var automatalista = new Automata();
            XmlSerializer serializer = new XmlSerializer(typeof(List<Automata>));

            using (TextWriter writer = new StreamWriter("C:\\Users\\user\\Downloads\\Temp\\File.xml"))
            {
                serializer.Serialize(writer, automatalista);
            }

        }

我希望您生成一个XML文件,但是出现错误。

System.InvalidOperationException:'创建不可用的Xml Object.Program。 Sólose pueden procesar tipospúblicos。'

1 个答案:

答案 0 :(得分:3)

您需要公开这些类型。 EG

public class Automata . . .