Parse Xml In C# (WebTut)

本文关键字:WebTut Xml In Parse | 更新日期: 2023-09-27 18:06:34

在c#中解析Xml时遇到一个问题。我试图运行一些代码,我发现从这个网站:

http://www.codeproject.com/Articles/24049/Easy-XML-Parsing-in-C

代码是:

namespace ParseXML
{
    public partial class Form1 : Form
    {
        static void Main(string[] args)
        {
            try
            {
                TextReader reader = new StreamReader("notes.xml");
                XmlSerializer serializer = new XmlSerializer(typeof(note));
                note n = (note)serializer.Deserialize(reader);
                System.Console.WriteLine(n.to);
                System.Console.WriteLine(n.from);
                System.Console.WriteLine(n.heading);
                System.Console.WriteLine(n.body);
                reader.Close();
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
            }
        }        
    }
}

你会看到'note'正在传递给Xmlserializer (Xmlserializer (typeof(note))) -这个注释意味着没有note的类型。下面的行包含另外两个值得注意的实例,并且都有红色下划线,表示我错过了一个程序集引用。没有需要注意的名称空间。这家伙加这个似乎是为了捉弄人。简直让人抓狂

Parse Xml In C# (WebTut)

不,这家伙不是在跟你开玩笑。Note是从notes.xsd文件自动生成的类。

过程如下:

    在XSD中定义你的数据结构使用微软的XSD. exe从XSD生成一个。cs文件。
  1. 将生成的CS文件包含到您的解决方案

则该类型将变为可用。

对于那些认为他没有解析XML的人,你认为这一行在做什么:

note n = (note)serializer.Deserialize(reader);

煎熏肉和鸡蛋?