C# 使用xmlnode读取xml文件的属性

C# 使用xmlnode读取xml文件的属性,c#,xmldocument,C#,Xmldocument,我正在尝试使用xml节点读取属性。但是我无法读取它。我正在做一些事情,但我想不出来。我的xml文件如下所示。。 我正在尝试读取InterfaceRequestID和InterfaceName,这是我的代码 if (fPortalGuid != string.Empty) { HttpWebRequest request = WebRequest.Create("http://cramapp-dt-02s.cable.com

我正在尝试使用xml节点读取属性。但是我无法读取它。我正在做一些事情,但我想不出来。我的xml文件如下所示。。

我正在尝试读取InterfaceRequestID和InterfaceName,这是我的代码

if (fPortalGuid != string.Empty)
                {
                    HttpWebRequest request = WebRequest.Create("http://cramapp-dt-02s.cable.comcast.com:8158/restfulqueryservice/queryservice/getrequestdetails?api_key=hiding key&request_id=33ebc6e9-9def-4f39-adf9-bba2edef3b54") as HttpWebRequest;
                    request.Method = "POST";

                    using (Stream stm = request.GetRequestStream())
                    {
                        using (StreamWriter stmw = new StreamWriter(stm))
                        {
                            stmw.Write(soap);
                        }
                    }
                    // Get response  
                    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                    {
                        // Get the response stream  
                        StreamReader reader = new StreamReader(response.GetResponseStream());
                        // Console application output  
                        string result = reader.ReadToEnd();
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.LoadXml(result);
                        XmlNodeList radiusdns_nodelist;
                        XmlNodeList request_nodelist;
                        XmlNodeList fqdn_nodelist;
                        radiusdns_nodelist = xmlDoc.SelectNodes("/RADIUSDNSQueryResponsePayload");
                        request_nodelist = xmlDoc.SelectNodes("/RADIUSDNSQueryResponsePayload/request");
                        fqdn_nodelist = xmlDoc.SelectNodes("/RADIUSDNSQueryResponsePayload/request/fqdn");
                        string strInterfaceID = string.Empty, strInterfaceName = string.Empty;
                        if (radiusdns_nodelist.Count > 0)
                        {
                            foreach (XmlNode main_node in radiusdns_nodelist[0].ChildNodes)
                            {
                                strInterfaceID = main_node.Attributes["InterfaceRequestID"].Value;
                                strInterfaceName = main_node.Attributes["InterfaceName"].Value;
                            }
                        }
                    }
                }

我无法获取属性。我做错了什么?

您有什么错误或问题?它就像对象引用没有设置为对象的实例一样。谢谢。我将代码foreach(radiudns_节点列表[0].ChildNodes中的XmlNode main_节点)更改为foreach(radiudns_节点列表中的XmlNode main_节点),现在它可以工作了fine@Tronics很高兴看到你的评论,然后我把它作为一个答案。会让自己受到嘲笑的(