用C#解析Xml(WebTut)
在C#中解析Xml时遇到问题。我正在尝试运行从该网站找到的一些代码: 代码是:用C#解析Xml(WebTut),c#,.net,xml,linq,C#,.net,Xml,Linq,在C#中解析Xml时遇到问题。我正在尝试运行从该网站找到的一些代码: 代码是: namespace ParseXML { public partial class Form1 : Form { static void Main(string[] args) { try { TextReader reader = new StreamReader("notes.xml"
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表示note没有类型。下面的一行包含另外两个Notes实例,都有红色下划线,表示我错过了一个集合引用。没有要注意的名称空间。这家伙似乎是为了跟人上床才加上这个的。这简直让人发疯不,那家伙没有惹你。Note是从notes.xsd文件自动生成的类 这个过程是:
note n = (note)serializer.Deserialize(reader);
煎一些熏肉和鸡蛋?哦,不,请!你应该从阅读教程开始,特别是C#教程。如果您不知道诸如OOP中的对象和显式强制转换之类的概念,您将无法理解这里的任何答案。您的代码甚至没有解析XML。请从了解您正在做的事情开始,不要只做复制/粘贴/询问。@John Saunders-这段代码解析XML太难了。它正在使用XmlSerializer来解析它。“这是一种非常常见的技巧。看到人们问这样的问题,真让人恼火。”阿桑同意。但更让人恼火的是,看到那些声名显赫的人在不知道自己在说什么的情况下进行指责。“您的代码甚至没有解析XML”-pfft。拿起一本C#教科书。这一行是反序列化XML,通过调用
XmlReader
实例来解析它。所以,它只是间接地解析它,对吗?否则,我可能会认为XmlReader不解析XML,因为它是XmlReader内部的IL进行解析。也许别再试图说服别人,试着帮助别人?