高手指点一下XML获取根节点属性值?

XML文件:
<?xml version="1.0" encoding="utf-8"?>
<Articles maxId ="1">
</Articles>
.aspx文件:
XDocument doc = XDocument.Load("Datasource.xml");// 载入数据
int maxId = Convert.ToInt32(doc.Root.Attribute("maxId").Value); // 获取当前最大ID

问题:
获取不了XML文件中的根节点的属性值,出现了未将对象引用设置到对象的实例的错误;

第1个回答  推荐于2016-09-21
//使用xml版本
using System;
using System.Xml;

namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("Datasource.xml");// 载入数据
XmlNode node = doc.SelectSingleNode("Articles");
int maxId = Convert.ToInt32((node as XmlElement).GetAttribute("maxId")); // 获取当前最大ID
Console.WriteLine(maxId);
}
}
}

//使用linq
using System;
using System.Xml.Linq;

namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
XDocument doc = XDocument.Load("Datasource.xml");// 载入数据
int maxId = Convert.ToInt32((doc.FirstNode as XElement).Attribute("maxId").Value); // 获取当前最大ID
Console.WriteLine(maxId);
}
}
}本回答被提问者和网友采纳
第2个回答  2011-07-25