使用属性读取XML的最简单方法

我有一个我想阅读的XML文件(使用xml atrributes)。 结构不会改变,但内容确实如此。

示例XML: http : //www.yr.no/place/Norway/Oslo/Oslo/Oslo/forecast.xml (必须手动将URL复制并粘贴到地址字段中,否则您将获得404。)

我无法使用此代码(并使用XSD.EXE)从它创建XSD:

XmlTextReader myXmlTextReader = new XmlTextReader("forecast.xml"); DataSet myDataSet = new DataSet(); myDataSet.ReadXml(myXmlTextReader); myDataSet.WriteXmlSchema("forecast.xsd"); 

结果是:

 列名'name'是为不同的映射类型定义的。 

现在,想象一下,我在这方面很懒,并且不想花费我的整个晚上手动将XML映射到我的对象。 我希望为我生成托管代码对象,以便我可以轻松读取数据。

我有什么选择?

…如果有人知道,XSD转换错误消息是什么意思?

要回答关于Xsd.exe错误的最后一点,它遇到了多个位置元素的问题。 如果您保存xml并将第一个位置元素重命名为baselocation,那么它将转换为okay。

然后,您可以手动修改xsd或生成的类来处理此问题。

如果您要处理XML属性,那么为什么不将xml加载到XmlDocument中。 然后,您可以访问各种节点和属性。

是的,使用Linq。 我没有任何示例代码,但是此链接应该让您入门。

http://www.hookedonlinq.com/LinqToXML5MinuteOVerview.ashx