C# 解析XML响应

C# 解析XML响应,c#,asp.net,xml,string,C#,Asp.net,Xml,String,我得到一个XML响应,如下所示: <Resp> <status>00</status> <errorcode></errorcode> <errordescr></errordescr> <data> <Table> <USERNAME>Name</USERNAME> <ACCLOCK>N</ACCLOCK

我得到一个XML响应,如下所示:

 <Resp>
<status>00</status>
<errorcode></errorcode>
<errordescr></errordescr>
<data>
    <Table>
        <USERNAME>Name</USERNAME>
        <ACCLOCK>N</ACCLOCK>
        <EMAILID>Samplemail@gmail.com</EMAILID>
        <LASTLOGINDATE>23-03-2015 12:35:40</LASTLOGINDATE>
        <LOGINSTATUS>N</LOGINSTATUS>
        <MOBILENO>9848022338</MOBILENO>
        <PASSWORD>Abcd@1234</PASSWORD>
        <PWDCOUNT>0</PWDCOUNT>
        <PWDVALIDTO>12-05-2015 12:18:10</PWDVALIDTO>
        <DESCRIPTION>Shop Person</DESCRIPTION>
        <STATUS>Y</STATUS>
        <USRID_FK>100017</USRID_FK>
        <ROLE>12</ROLE>
        <COUNTRY>61</COUNTRY>
        <MERID_FK>100002</MERID_FK>
        <GENDER>0</GENDER>
        <COUNTRY1>61</COUNTRY1>
        <STATE>0</STATE>
        <DOB>12-02-1997</DOB>
        <STRID_FK>10025</STRID_FK>
    </Table>
</data>
我想拆分字符串响应并获取一些标记的值(例如:-
USERNAME
STRID\u FK
MERID\u FK
),以便将其保存在其他字符串中以供进一步使用

请帮我做这个

XmlDocument xml = new XmlDocument();
xml.LoadXml(myXmlString);

XmlNodeList xnList = xml.SelectNodes("/data/Table");
foreach (XmlNode xn in xnList)
{
  string USERNAME= xn["USERNAME"].InnerText;
  string STRID_FK= xn["STRID_FK"].InnerText;
  string MERID_FK= xn["MERID_FK"].InnerText;
  Console.WriteLine("Name: {0, {1}, {2}", USERNAME, STRID_FK,MERID_FK);
}
或者直接尝试选择节点
xmlDoc.SelectNodes(“/data/Table/USERNAME”)

XmlNodeList nodes= doc.GetElementsByTagName("USERNAME"); 
或者直接尝试选择节点
xmlDoc.SelectNodes(“/data/Table/USERNAME”)

XmlNodeList nodes= doc.GetElementsByTagName("USERNAME"); 

另一个选项,这次使用Linq到Xml:

var yourXml = XElement.Parse (response); // Parse the response

// Look up specific values by name:
var username = yourXml.Descendants().First(node => node.Name == "USERNAME").Value;
另一种选择是将
中的所有数据放入字典,以便以后查找:

var dict = yourXml.Descendants()
                  .Where(node => node.Name == "Table")
                  .Descendants()
                  .ToDictionary(node => node.Name.ToString(), node => node.Value);

// Look up value using "USERNAME" as key:
var exampleUsername = dict["USERNAME"];

另一个选项,这次使用Linq到Xml:

var yourXml = XElement.Parse (response); // Parse the response

// Look up specific values by name:
var username = yourXml.Descendants().First(node => node.Name == "USERNAME").Value;
另一种选择是将
中的所有数据放入字典,以便以后查找:

var dict = yourXml.Descendants()
                  .Where(node => node.Name == "Table")
                  .Descendants()
                  .ToDictionary(node => node.Name.ToString(), node => node.Value);

// Look up value using "USERNAME" as key:
var exampleUsername = dict["USERNAME"];

谢谢你的友好回复。。我正在Windows Phone应用程序中尝试此操作。。。XmlDocument和XmlNodeLIst类不可用。甚至添加名称空间[使用system.xml]。。也没有什么影响。。。所有的推荐信都包括在内…你能帮忙吗?谢谢你的回复。。我正在Windows Phone应用程序中尝试此操作。。。XmlDocument和XmlNodeLIst类不可用。甚至添加名称空间[使用system.xml]。。也没有什么影响。。。所有的参考资料都包括在内…你能帮忙吗?