解析XML 都进去看看

解析XML 都进来看看
我想获取一个节点里面的属性总数
例如:
<?xml version="1.0" encoding="utf-8"?>
<root name="中国" postcode="000000" >
  <province name="请选择省" postcode="100000" >
    <city name="请选择市" postcode="100100" >
      <area name="请选择区" postcode="100101" />
    </city>
  </province>
</root>

我要获取 province 节点力的 属性总数。  要怎么获取 ?
------解决方案--------------------
Refer:
http://www.cnblogs.com/insus/p/3299052.html
------解决方案--------------------
node.Attributes.Count
------解决方案--------------------
                XmlNode root = xmldoc.SelectSingleNode("NAME");//查找
                XmlNodeList list = xmldoc.SelectSingleNode("NAMES").ChildNodes;
                foreach (XmlNode xn in list)//遍历所有子节点 
                {
                    //将子节点类型转换为XmlElement类型 
                    XmlElement xe = (XmlElement)xn;
}
逐级别遍历  或者直接使用递归遍历
------解决方案--------------------
查询xml文件中的节点信息
//设置相关查询信息控件
 <asp:Label ID="Label2" runat="server" Text="搜索条件:" Font-Size="9pt"></asp:Label>
                                        <asp:Label ID="Label3" runat="server" Text="请输入编号:"></asp:Label>
                                        <asp:TextBox ID="TxtID" runat="server" Width="91px"></asp:TextBox>
                                <asp:Button ID="BtnSelect" runat="server" Font-Size="9pt" OnClick="BtnSelect_Click" Text="查询" Width="40px" />
                                <asp:RequiredFieldValidator ID="rfvSelect" runat="server" ErrorMessage="文本框不能为空" ControlToValidate="TxtID" Display="Dynamic" Font-Size="9pt"></asp:RequiredFieldValidator>
                                                <asp:Label ID="Label1" runat="server" Text="请您输入要查询的条件" Width="185px"></asp:Label></span>
//查询事件遍历XML节点显示节点信息
 protected void BtnSelect_Click(object sender, EventArgs e)
    {
        this.lblcondition.Text = "";//清空标签中的内容
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("LeaveWord.xml"));
        XmlNodeList nodes;
        XmlElement root = doc.DocumentElement;
        nodes = root.SelectNodes("descendant::LW[ID='" + TxtID.Text.Trim() + "']");
        foreach (XmlNode node in nodes)
        {
            if (lblcondition.Text == "")
            {
                for (int i = 0; i <= node.ChildNodes.Count - 1; i++)
                {
                    lblcondition.Text = lblcondition.Text + node.ChildNodes[i].InnerText + "<br><br>";
                    //this.GridView1.Rows[i].Cells[i].Controls[0].ToString()=node.ChildNodes[i].InnerText;
                }
            }//CodeGo.net/
            else