在C#中解析Xml(WebTut)

时间:2014-06-03 01:07:06

标签: c# .net xml linq

在这里解决了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实例,ALL有红色下划线表示我错过了一个汇编引用。没有用于注释的名称空间。这家伙似乎刚刚添加了这个与人们联系。它绝对令人抓狂

1 个答案:

答案 0 :(得分:3)

不,这家伙不会搞砸你。注意是文件notes.xsd中自动生成的类。

过程是:

  1. 在XSD中定义您的数据结构
  2. 使用Microsoft'XSD.EXE从XSD生成.CS文件
  3. 将生成的CS文件包含在您的解决方案中
  4. 然后该类型将可用。

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

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

    煎一些培根和鸡蛋?