C# 设计XML读取器

C# 设计XML读取器,c#,xml,visual-studio-2010,C#,Xml,Visual Studio 2010,我已经分配了为xml读取器创建类结构的任务!到目前为止,对于一个简单的xml文件,有两个主要类。元素和属性。我可以使用内置的c#xml读取器读取xml文件!但是我的代码应该能够识别xml元素、结构以及属性。。到目前为止,我已经确定了主要的两个类,但我现在仍停留在这一点上。如果有人能解释一个可能的理论或方法,因为我是编程新手,那将不胜感激 以下是三个非常好的例子,介绍了如何以面向对象的方式设计“XML读取器”: 它们将XML文档、XML文档的组成部分和XML文档的结构映射到相应类的结构,

我已经分配了为xml读取器创建类结构的任务!到目前为止,对于一个简单的xml文件,有两个主要类。元素和属性。我可以使用内置的c#xml读取器读取xml文件!但是我的代码应该能够识别xml元素、结构以及属性。。到目前为止,我已经确定了主要的两个类,但我现在仍停留在这一点上。如果有人能解释一个可能的理论或方法,因为我是编程新手,那将不胜感激

以下是三个非常好的例子,介绍了如何以面向对象的方式设计“XML读取器”:

它们将XML文档、XML文档的组成部分和XML文档的结构映射到相应类的结构,并介绍了构建和分析XML文档的方法

如果您想在不“作弊”的情况下练习和构建自己的类结构(即查看其他人是如何做到的),可以从检查并确定XML文档可以包含的元素/部分(元素、属性、数据类型等)开始。这些元素中的许多元素可能在您的设计中都应该有相应的类。接下来,您必须考虑您希望使用XML做什么。这也会影响您的设计


一般来说,您应该始终记住,生成的API应该易于使用。您的目标“受众”可能是了解XML的开发人员,因此您的类应该反映他们对XML的了解(名称应该类似等等)。

我认为您应该使用成熟的API来满足您的需求。除此之外,我认为您可以使用责任链设计模式。

XML阅读器和XML文档之间有区别。 它们是按照不同的模式建模的

NET中的读取器只是为了读取流,当它遇到某个元素/属性或其他类型的节点时停止。如果您希望速度更快,或者您有一个不想保存在内存中的大数据流,那么这可能很实用

XML文档读取整个流并实例化表示它的对象模型。 如果您需要了解结构并将其放入内存中,这是很实用的


如果要实现读卡器,可以将ReadNext()之类的方法装箱,该方法将读取并返回找到的下一个节点。对于初学者,我会坚持解析xml元素及其属性,而不是注释、名称空间和其他更难的东西。

为什么要写这篇文章?NET framework已经为这项任务提供了很好的支持,请参阅。这实际上是分配给我的一项任务,目的是更好地了解OOP编程!:(在这种情况下,我建议你自己完成作业,否则它将毫无意义。如果你仍然想作弊,只需查看
XDocument
的类层次结构。我不想作弊!我需要一些指导!